Condividi tramite


Identificatori di interfaccia per i driver della stampante

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.

Un set di GUID è definito in prcomoem.h. Ognuno di questi GUID è un identificatore di interfaccia per una delle interfacce COM usate per la comunicazione tra i driver della stampante (Unidrv e Pscript5) e i plug-in.

Per Windows 2000 e Windows XP, sono definiti i GUID seguenti:

IID_IPrintOemUI IID_IPrintOemUI2 (plug-in dell'interfaccia utente Pscript5 in Windows XP e versioni successive del sistema operativo Windows) IID_IPrintOemDriverUIIID_IPrintCoreUI2 (plug-in dell'interfaccia utente Pscript5 in Windows XP e versioni successive del sistema operativo Windows) IID_IPrintOemUni IID_IPrintOemUni2 (plug-in di rendering Unidrv in Windows XP e versioni successive del sistema operativo Windows) IID_IPrintOemUni3 (Plug-in di rendering Unidrv in Windows Vista e versioni successive del sistema operativo Windows) IID_IPrintOemDriverUni IID_IPrintOemPS IID_IPrintOemPS2 (plug-in di rendering Pscript5 in Windows XP e versioni successive del sistema operativo Windows) IID_IPrintOemDriverPS IID_IPrintCorePS2 (plug-in di rendering Pscript5 in Windows XP e versioni successive del sistema operativo Windows) Ogni GUID identifica una versione di un'interfaccia. Se viene definita una nuova versione di un'interfaccia, viene aggiunto un nuovo GUID all'elenco.

I plug-in dell'interfaccia utente e i plug-in di rendering devono identificare le versioni dell'interfaccia supportate. Il driver della stampante (Unidrv o Pscript5) chiama il metodo IUnknown::QueryInterface di un plug-in (descritto nella documentazione di Windows SDK), specificando un identificatore di interfaccia come input. Se il plug-in supporta la versione specificata, il metodo deve restituire un puntatore all'interfaccia insieme a uno stato restituito di S_OK. In caso contrario, deve restituire E_NOINTERFACE. Il driver inizia con l'identificatore di interfaccia per la versione più recente e continua a chiamare QueryInterface con identificatori di versione precedenti fino a quando il metodo non restituisce S_OK o il driver esaurisce l'elenco degli identificatori di versione.

Analogamente, Unidrv e Pscript5 forniscono metodi IUnknown::QueryInterface per le interfacce COM IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS o IPrintCorePS2 . I plug-in devono chiamare il metodo QueryInterface dell'interfaccia appropriata per determinare la versione dell'interfaccia supportata del driver e ricevere un puntatore all'interfaccia.