Supporting CMYK Color Space
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.
Regardless of whether color management is being handled by the application, system, driver, or device, a printer graphics DLL must indicate whether it supports the CMYK color space. This is done by setting the GCAPS_CMYKCOLOR flag in the DEVINFO structure. If this flag is set and CMYK profiles are in use, then GDI sends CMYK color data, instead of RGB data, to the printer graphics DLL for bitmaps, brushes, and pens. GDI also sets the following flags:
The BR_CMYKCOLOR flag in the flColorType member of the BRUSHOBJ structure.
The XO_FROM_CMYK flag in the flXlate member of the XLATEOBJ structure.
If the driver supports CMYK color space, it must also support halftoning. Therefore, if the driver sets the GCAPS_CMYKCOLOR flag in DEVINFO, it must also set GCAPS_HALFTONE.