Introduction to Printer Interface DLLs

Important

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 the Print support app design guide.

Printers typically provide users with a large number of modifiable configuration options that can be changed for each document that is printed. Options such as paper, tray and font selection, along with image resolution, size, color, and so on, must be accessible through user interfaces that can be invoked by applications.

A printer driver's printer interface DLL, which executes in user mode, is responsible for exporting a user interface to the printer's configuration options. Providing this interface involves creating property sheet pages for printers. Applications (such as the print folder) display the interface by calling Win32 functions exported by the print spooler, and the spooler, in turn, calls functions defined by printer interface DLLs.

Providing a user interface to configuration options is not a printer interface DLL's only responsibility. The DLL also exports functions that the spooler can call to notify the driver of print-related system events, such as driver installations and upgrades, or printer additions and connections.