Functions defined by printer interface DLLs

Important

The modern print platform is Windows' preferred means of communicating with printers. We recommend that you use Microsoft's IPP inbox class driver, along with Print Support Apps (PSA), to customize the print experience in Windows 10 and 11 for printer device development.

For more information, see Modern print platform and the Print support app design guide.

Printer interface DLLs export the functions listed in the following table.

Function Purpose
DllEntryPoint Initial DLL entry point, typically called DLLMain.
DrvConvertDevMode Converts the specified DEVMODEW structure from one version to another.
DrvDeviceCapabilities Returns requested information about a printer's capabilities.
DrvDevicePropertySheets Calls CPSUI to create property sheet pages that describe a printer's properties.
DrvDocumentEvent (Optional) Allows the printer interface DLL to specify which events associated with printing a document it will handle.
DrvDriverEvent (Optional) Allows the printer interface DLL to respond to notifications from the spooler that certain driver-specific events have occurred.
DrvDocumentPropertySheets> Calls CPSUI to create property sheet pages that describe a print document's properties.
DrvPrinterEvent Allows the printer interface DLL to respond to notifications from the spooler that certain printer-specific events have occurred.
DrvQueryColorProfile (Optional) Allows the printer interface DLL to specify an ICC profile to use for color management.
DrvQueryJobAttributes (Optional) Allows the printer interface DLL to specify support for such capabilities as printing multiple document pages on a physical page ("N-up" printing), printing multiple copies of each page, and collating pages.
DevQueryPrintEx Determines if a print job can be printed using the printer's current configuration.
DrvSplDeviceCaps Returns requested information about a printer's capabilities.
DrvUpgradePrinter (Optional) Updates a printer's registry settings when a new version of the driver is added to a system.