Condividi tramite


Controllo driver e controllo del dispositivo

Importante

La piattaforma di stampa moderna è il mezzo preferito di Windows per comunicare con le stampanti. Ti consigliamo di usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi per stampanti.

Per altre informazioni, vedere Piattaforma di stampa moderna e guida alla progettazione dell'app di supporto per la stampa.

Se il controllo gestione colori viene fornito dal driver o dall'hardware della stampante, la DLL grafica della stampante del driver deve impostare il flag GCAPS_ICM nella struttura DEVINFO.

Il driver deve indicare il supporto per lo spazio dei colori CMYK (se appropriato), come descritto in Supporto dello spazio colori CMYK.

Le DLL della grafica della stampante devono definire le tre funzioni seguenti:

GDI chiama la funzione DrvIcmCreateColorTransform per fornire al driver profili ICC per il processo di stampa. Dato questi profili, la funzione può creare una trasformazione di colore interna da usare per correggere le informazioni sul colore. Una trasformazione di colore è un mapping specifico del driver definito internamente da uno spazio colore a un altro. La funzione restituisce un handle per la trasformazione, archiviata da GDI.

I flag all'interno delle strutture BRUSHOBJ e XLATEOBJ indicano se la gestione dei colori viene eseguita dal sistema (o dall'applicazione) o dal driver (o dal dispositivo). All'interno di ogni funzione di disegno DDI grafica implementata dal driver che riceve (o entrambe) di queste strutture, è necessario controllare i flag. Se il sistema o l'applicazione gestisce attualmente la gestione dei colori, il driver o il dispositivo non deve. Se la gestione dei colori del driver o del dispositivo è abilitata, la funzione DDI grafica deve chiamare BRUSHOBJ_hGetColorTransform o XLATEOBJ_hGetColorTransform (o entrambi) per ottenere un handle per la trasformazione del colore da usare. L'handle sarà quello fornito dal driver in risposta a una chiamata precedente alla relativa funzione DrvIcmCreateColorTransform.

Gestione della gestione dei colori proprietari

Per alcuni dispositivi, la gestione dei colori proprietari viene eseguita (dal driver o dall'hardware) indipendentemente dal fatto che ICM sia stato abilitato. I driver per tali dispositivi non devono consentire l'esecuzione della correzione dei colori se i dati delle immagini ricevuti sono già stati corretti. I dati pre-corretti possono essere ricevuti se:

  • Un'applicazione ha corretto il colore dell'immagine "all'esterno del controller di dominio" (vedere la documentazione di Microsoft Windows SDK).

  • La gestione dei colori viene gestita dal sistema.

Per uno di questi scenari, verrà impostato sia il flag BR_HOST_ICM nel membro flColorType di BRUSHOBJ che il flag XO_HOST_ICM nel membro flXlate di XLATEOBJ. Questi flag possono essere impostati anche se il membro dmICMMethod di DEVMODEW è DMICMMETHOD_NONE.