Print capabilities

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.

By using print capabilities technology, a print driver can return its capabilities as a set of elements in an XML document. Earlier versions of print drivers returned their capabilities information when the application called the DeviceCapabilities or GetDeviceCaps functions. These Microsoft Win32 functions, however, are limited because they return only information about a fixed set of printer features and settings and can return information about only one feature or setting for each function call.

In contrast, the XML PrintCapabilities document is much more flexible and is designed to support new printer features. The PrintCapabilities function also returns the entire XML PrintCapabilities document in one function call.

This section covers the following aspects of print capabilities:

Print capabilities architecture

Win32 API support for print capabilities

Print capabilities in Unidrv and PScript5 print drivers

Print driver plug-in support

Print capabilities support in GDI-based monolithic print drivers