Printer Driver and Plug-in Helper Interfaces

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.

The IPrintCoreHelper interface, which is available in Windows Vista and later, provides basic functionality that is available in all four core driver modules--Unidrv rendering, Unidrv user interface (UI), Pscript5 rendering, and Pscript5 UI. A single interface is provided to all four modules because:

  • The interface reflects the underlying architecture.

  • The interface provides the ability to write common code modules for plug-ins to perform certain behavior, such as constraints resolution.

You can use the IPrintCoreHelper interface to write a single UI replacement plug-in for Unidrv-based and Pscript5-based drivers.

Because of the differences between the Pscript5 and Unidrv driver infrastructures, there are two additional interfaces, IPrintCoreHelperUni and IPrintCoreHelperPS, that inherit from the IPrintCoreHelper interface and that provide extended services based on the individual drivers. These interfaces are available only in their respective modules. The Pscript5 helper interface, IPrintCoreHelperPS, provides access to certain PostScript printer description (PPD) data, while the Unidrv helper interface, IPrintCoreHelperUni, provides the ability to access generic printer configuration (GPD) files by means of the GDL parser, which is new for Windows Vista.

This section provides the following topics:

Unidrv and Pscript5 Helper Interfaces for Plug-ins

Publishing the Interfaces

Details of the IPrintCoreHelper Interface