Udostępnij za pośrednictwem


Identyfikowanie możliwości kolorów drukarki

Ważny

Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.

Aby uzyskać więcej informacji, zobacz przewodnik dotyczący projektowania aplikacji z obsługą drukowania .

Aby odróżnić urządzenia kolorowe i monochromatyczne (lub szare), wersje systemu Windows 2000 i nowsze wersje systemu NT wywołują funkcję DrvDeviceCapabilities, przekazując stałą DC_COLORDEVICE w wywołaniu. Ta funkcja zwraca wartość 1, jeśli urządzenie obsługuje kolor, a 0, jeśli urządzenie generuje dane wyjściowe monochromatyczne lub szare. Zaleca się, aby wszystkie sterowniki drukarek obsługiwały wywołania DrvDeviceCapabilities dla stałej DC_COLORDEVICE.

Bardzo ważne jest, aby kierowcy implementowali funkcję DrvDeviceCapabilities. W przeciwnym razie system operacyjny jest trudniejszy do rozróżnienia między urządzeniami kolorowymi i niekolorowymi, z następujących powodów:

  • Wywołanie funkcji GetDeviceCaps (opisanej w dokumentacji zestawu Windows SDK), w której przekazywana jest stała NUMCOLORS, zwykle powoduje zwrócenie wartości mniejszej lub równej 2 dla większości urządzeń niekolorowych i większej niż 2 dla urządzeń kolorowych. System operacyjny nie może odróżnić urządzeń monochromatycznych od urządzeń korzystających ze skali szarości.

  • Wartość elementu dmColor struktury DEVMODEW nie jest wiarygodnym wskaźnikiem tego, czy urządzenie obsługuje kolor, czy jest niekolorowe. Niektóre sterowniki drukarek ustawiają ten parametr na DMCOLOR_COLOR nawet w przypadku urządzeń, które nie mogą drukować w kolorze.