Поделиться через


Определение возможности цвета принтера

Внимание

Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.

Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.

Чтобы различать устройства с цветом и цветом (монохромные или серые) устройства, Windows 2000 и более поздних версий операционной системы на основе NT вызывают функцию DrvDeviceCapabilities , передавая DC_COLORDEVICE константу в вызове. Эта функция возвращает значение 1, если устройство поддерживает цвет и 0, если устройство создает монохромные или серые выходные данные. Рекомендуется, чтобы все драйверы принтера поддерживали вызовы drvDeviceCapabilities для константы DC_COLORDEVICE.

Очень важно для драйверов реализовать функцию DrvDeviceCapabilities. В противном случае операционной системе сложнее различать цвета и нецветные устройства по следующим причинам:

  • Вызов функции GetDeviceCaps (описан в документации по пакету SDK для Windows), в которой передается константа NUMCOLORS, обычно приводит к возвратному значению меньше или равно 2 для большинства нецветных устройств и больше 2 для цветных устройств. Операционная система не может различать монохромные и серые устройства.

  • Значение элемента dmColor структуры DEVMODEW не является надежным индикатором того, является ли устройство цветом или некрасивым устройством. Некоторые драйверы принтера устанавливают для этого элемента DMCOLOR_COLOR даже для устройств, которые не могут производить цвет.