Controlling Color Management

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.

Color management for a printer can be controlled by an application, the system (GDI), the driver, or device hardware. The driver determines which component is managing color correction by examining flags within the BRUSHOBJ and XLATEOBJ structures that are passed to its implementations of graphics DDI drawing functions. The following flags are defined:

Flag Definition
BR_DEVICE_ICM in BRUSHOBJ

XO_DEVICE_ICM in XLATEOBJ
Color management is being performed by the driver or the device.
BR_HOST_ICM in BRUSHOBJ

XO_HOST_ICM in XLATEOBJ
Color management is being performed by the application or the system (GDI).

The following topics describe driver support for these color management scenarios:

System Control

Driver Control and Device Control

Supporting CMYK Color Space

Color Management of JPEG and PNG Images