Udostępnij za pośrednictwem


Sterowanie sterownikami i sterowanie urządzeniem

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 Print Support App v1 and v2 design guide (Przewodnik projektowania aplikacji do obsługi wydruku w wersji 1 i 2).

Jeśli kontrolka zarządzania kolorami jest dostarczana przez sterownik lub sprzęt drukarki, sterownik grafiki DLL musi ustawić flagę GCAPS_ICM w strukturze DEVINFO.

Sterownik musi wskazywać obsługę przestrzeni kolorów CMYK (jeśli jest to konieczne), zgodnie z opisem w Obsługa przestrzeni kolorów CMYK.

Biblioteki DLL obsługujące grafikę drukarki muszą definiować następujące trzy funkcje:

Interfejs GDI wywołuje funkcję DrvIcmCreateColorTransform, aby dostarczyć sterownikowi profile ICC dla zadania drukowania. Biorąc pod uwagę te profile, funkcja może utworzyć wewnętrzną transformację kolorów do użycia podczas poprawiania informacji o kolorach. Przekształcenie koloru to wewnętrznie zdefiniowane mapowanie z jednej przestrzeni kolorów na drugą, specyficzne dla sterownika. Funkcja zwraca uchwyt do przekształcenia, który przechowuje GDI.

Flagi w strukturach BRUSHOBJ i XLATEOBJ wskazują, czy zarządzanie kolorami jest wykonywane przez system (lub aplikację), czy też sterownik (lub urządzenie). W każdej funkcji rysowania DDI grafiki implementowanej przez sterownik, która otrzymuje jedną z tych struktur (lub obie), należy sprawdzić flagi. Jeśli system lub aplikacja zarządzają obecnie kolorami, sterownik lub urządzenie nie powinny tego robić. Jeśli zarządzanie kolorami sterowników lub urządzeń jest włączone, funkcja DDI grafiki musi wywołać BRUSHOBJ_hGetColorTransform lub XLATEOBJ_hGetColorTransform (lub oba) w celu uzyskania uchwytu do przekształcenia koloru do użycia. Uchwyt będzie taki, który sterownik podał w odpowiedzi na poprzednie wywołanie funkcji DrvIcmCreateColorTransform.

Obsługa własnościowego zarządzania kolorami

W przypadku niektórych urządzeń zastrzeżone zarządzanie kolorami jest wykonywane (przez sterownik lub sprzęt), niezależnie od tego, czy włączono funkcję ICM. Sterowniki dla takich urządzeń nie mogą zezwalać na poprawianie kolorów, jeśli odebrane dane obrazu zostały już poprawione. Wstępnie skorygowane dane można otrzymać, jeśli:

  • Aplikacja skorygowała kolory w obrazie "outside the DC" (zobacz dokumentację zestawu Microsoft Windows SDK).

  • Zarządzanie kolorami jest obsługiwane przez system.

W przypadku któregokolwiek z tych scenariuszy zarówno flaga BR_HOST_ICM w flColorType członek BRUSHOBJ, jak i flaga XO_HOST_ICM w flXlate członek XLATEOBJ zostaną ustawione. Te flagi można ustawić, nawet jeśli dmICMMethod członka DEVMODEW jest DMICMMETHOD_NONE.