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
>
>