Compartilhar via


Identificando o recurso de cores de uma impressora

Importante

A plataforma de impressão moderna é o meio preferencial do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.

Para distinguir entre dispositivos coloridos e não coloridos (monocromáticos ou em tons de cinza), o Windows 2000 e versões posteriores do sistema operacional baseado em NT chamam a função DrvDeviceCapabilities, passando a constante DC_COLORDEVICE na chamada. Essa função retornará 1 se o dispositivo for compatível com cores e 0 se o dispositivo produzir saída monocromática ou em tons de cinza. É recomendável que todos os drivers de impressora deem suporte a chamadas para DrvDeviceCapabilities para a constante DC_COLORDEVICE.

É muito importante que os drivers implementem a função DrvDeviceCapabilities. Caso contrário, é mais difícil para o sistema operacional distinguir entre dispositivos coloridos e não coloridos, pelos seguintes motivos:

  • Uma chamada para a função GetDeviceCaps (descrita na documentação do SDK do Windows), na qual a constante NUMCOLORS é transmitida, geralmente resulta em um valor retornado menor ou igual a 2 para a maioria dos dispositivos não coloridos e maior que 2 para dispositivos coloridos. O sistema operacional não consegue distinguir entre dispositivos monocromáticos e em tons de cinza.

  • O valor do membro dmColor da estrutura DEVMODEW não é um indicador confiável para determinar se o dispositivo é colorido ou não. Determinados drivers de impressora definem esse membro como DMCOLOR_COLOR mesmo para dispositivos que não são capazes de produzir cores.