Enable 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 can be enabled by either an application or a printer driver. Applications can enable color management by either of the following two methods:

  • Calling SetICMMode, specifying ICM_ON.

    This method enables system-controlled color management.

  • Specifying a DEVMODEW structure when calling CreateDC to create a print job, and setting either DMICMMETHOD_SYSTEM, DMICMMETHOD_DRIVER, or DMICMMETHOD_DEVICE in the DEVMODE structure's dmICMMethod member.

    This method allows the application to select system-controlled, driver-controlled, or device-controlled color management (assuming the specified control type is supported).

Printer drivers can enable color management by setting either DMICMMETHOD_SYSTEM, DMICMMETHOD_DRIVER, or DMICMMETHOD_DEVICE in the dmICMMethod member of the driver's default DEVMODE structure. (An application can override the default setting if supplying a DEVMODE structure for CreateDC. Additionally, the driver is responsible for storing the user's choice for color management during execution of the driver's DrvDocumentPropertySheets function.)