Re: [ntdev] Printer driver: Port Monitor or Network print provider

It’s unclear from your description which you need, if either.

However, a printer driver outputs the printer-specific data, and it may be easier and simpler to implement a driver instead.  Do you have some requirement to work with a printerdriver you did not write and cannot modify?

Printer drivers use EngWritePrinter to communicate with the printer, regardless of how it is attached to the client.  It’s been a long time since I worked on a port monitor, but I think they get a handle or something.

On all modern versions of windows, all printer driver components are usermode.


From: Danny
>To: Windows System Software Devs Interest List
>Sent: Sunday, June 12, 2011 10:05 PM
>Subject: [ntdev] Printer driver: Port Monitor or Network print provider?
>
>
>Hello,
>
>I
am currently trying to implement a wireless print driver.
>
>Here
is the basic idea:
>1)
Printer is the server and user is Client.
>2)
User will use “wireless” method to get the information of the printer and load
the printer driver.
>3)
When the user trying to use the printer in Client side, the printer will work
as local printer.
>4)
My client side project will catch the raw data below the printer driver, and send
it to the Server wirelessly. The raw data is printer dependent in this step.
>5)
My Server side project needs to receive the “raw data”, and send it to printer
hardware directly to print it.
>
>I’ve
read about the printing architecture both in MSDN and CodeProjecthttp://www.codeproject.com/KB/printing/wpa.aspx
. And still confused about how to
get start: 1) On the Client side, do I need to be a Port Monitor or Network
print provider
to catch the raw data stream? 2) How can I pass the raw data
stream to the printer Hardware? Suppose the Printer is connected to the server
via USB.
>3)
Can both sides of them running on Kernel mode? It seems that most of the
printer driver running on user mode.
>
>Thanks
in advance. Any help would be appreciated.
>
>Best
regards!
>–
>Danny
>—
NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>
>

I read via email and I haven’t seen Danny’s message.  

What you should have asked initially is “How can I filter all printer drivers?”. This appears to be what you want to do.

XPS has some kind of support for filters.  Other than that there is no such thing as a “printer driver filter”.

I believe a print processor might be useful on non-XPS printers, but you have to convince the user to switch to using it for all his printers.

Like Tim, I don’t understand the emphasis on the “server side”.

ScottR

----- Original Message -----

From: Tim Roberts
> To: Windows System Software Devs Interest List
> Cc:
> Sent: Tuesday, June 14, 2011 12:33 PM
> Subject: [ntdev] Re: [ntdev] Re: [ntdev] Re: [ntdev] Printer driver: Port Monitor or Network print provider?
>
> Danny wrote:
>>
>> I need to implement both the server side and client side.
>>
>> On the Client side, my implementation need to work with all kinds of
>> printer which I can’t modify. It’s like a filter under printer
> driver.
>>
>> Do you think a printer driver will works on the server side?
>
> Are you aware that the operating system already knows how to print to
> printers on the other side of a network connection?
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>