Printer Driver Architecture

The port monitor manages all communication between printer drivers and physical communication ports on a Windows CE–based platform. Therefore, the printer driver does not need to support different types of printer ports explicitly. The port monitor supports serial ports, infrared ports, parallel ports, and network printing. Printer drivers should call the port monitor APIs, instead of calling low-level communication APIs directly.

Port monitor APIs take handle-based parameters. This allows multiple applications to use the APIs simultaneously.

The following table shows the port monitor functions.

Function Description
GetPrinterInfo Retrieves information about the capabilities of a printer.
PrinterClose Closes a handle to a printer.
PrinterOpen Opens a handle to a printer.
PrinterSend Sends blocks of data to a printer.
ReportPrinterStatus Returns the status of a printer or printing operation that is in progress.

The following table shows the functions that printer drivers must implement.

Function Description
DrvCopyBits Translates between device-managed raster surfaces and graphics device interface (GDI) standard format bitmaps.
DrvDisablePDEV Used by MGDI to notify a driver that the specified PDEV structure is no longer needed.
DrvDisableSurface Used by the GDI to notify a driver that the surface created by the DrvEnableSurface function for the current device is no longer needed.
DrvEnableDriver Specifies the initial driver entry point exported by the driver DLL for devices that link directly to GWES, such as display drivers and printer drivers. It fills a DRVENABLEDATA structure with the driver version number and calling addresses of functions supported by the driver
DrvEnablePDEV Enables a device context for drawing and returns device metrics for the target printer or display device in a GDIINFO structure. Printer drivers call a display driver's DrvEnablePDEV function to create and initialize the device context, and then substitute the printer's device metrics before returning the device context to the GDI for bitmap rendering.
DrvEnableSurface Sets up a surface to be drawn on and associates it with a specified PDEV.
DrvEndDoc Called by the GDI to finish or abort a print job.
DrvGetModes Lists the modes supported by a specified device.
DrvStartDoc Called by the GDI to start a print job.
DrvStartPage Called by the GDI to start printing the next page of a print job.

See Also

Printer Drivers | Print Spooling | Printer Driver Samples | Printer Driver Registry Settings

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.