Identificación de la capacidad de color de una impresora
Importante
La plataforma de impresión moderna es el medio preferido de Windows para comunicarse con impresoras. Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.
Para obtener más información, consulte Plataforma de impresión moderna y la Guía de diseño de aplicaciones para compatibilidad con impresión.
Para distinguir entre los dispositivos a color y no a color (monocromo o escala de grises), Windows 2000 y versiones posteriores del sistema operativo basados en NT llaman a la función DrvDeviceCapabilities, pasando la constante DC_COLORDEVICE en la llamada. Esta función devuelve 1 si el dispositivo admite color y 0 si el dispositivo genera una salida monocromo o en escala de grises. Se recomienda que todos los controladores de impresora admitan llamadas a DrvDeviceCapabilities para la constante DC_COLORDEVICE.
Es muy importante que los controladores implementen la función DrvDeviceCapabilities. De lo contrario, es más difícil que el sistema operativo distinga entre los dispositivos a color y no a color, por los siguientes motivos:
Una llamada a la función GetDeviceCaps (descrita en la documentación del SDK de Windows), en la que se pasa la constante NUMCOLORS, normalmente da como resultado un valor devuelto menor o igual que 2 para la mayoría de los dispositivos que no son a color y mayor que 2 para los dispositivos a color. El sistema operativo no puede distinguir entre dispositivos monocromo y en escala de grises.
El valor del miembro dmColor de la estructura DEVMODEW no es un indicador confiable de si el dispositivo es a color o no a color. Algunos controladores de impresora establecen este miembro en DMCOLOR_COLOR incluso para los dispositivos que no son capaces de producir color.