Accesso alle interfacce del driver della stampante dai plug-in
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 un plug-in chiama metodi che appartengono alle interfacce IPrintOemDriverUI, IPrintCoreHelperPS, IPrintCoreHelperUni, IPrintCoreHelperUni, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS o IPrintCorePS2 , deve ottenere un puntatore di interfaccia dal driver come segue:
Il plug-in deve implementare il metodo PublishDriverInterface dell'interfaccia IPrintOemUI, IPrintOemUni2, IPrintOemUni2, IPrintOemPS o IPrintOemPS2.
Quando il driver (Unidrv o Pscript5) chiama il metodo PublishDriverInterface del plug-in, fornisce un puntatore all'interfaccia IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS o IPrintCorePS2 dell'istanza IUnknown.
Il plug-in deve usare il puntatore dell'interfaccia IUnknown per chiamare IUnknown::QueryInterface, specificando l'identificatore di interfaccia che rappresenta la versione desiderata dell'interfaccia IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS o IPrintCorePS2. Per altre informazioni, vedere Identificatori di interfaccia per i driver della stampante.
Se il plug-in specifica un identificatore di interfaccia che rappresenta una versione dell'interfaccia supportata dal driver, QueryInterface restituisce un puntatore all'interfaccia IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS o IPrintCorePS2. Si noti che il driver chiama il metodo AddRef dell'interfaccia (descritto nella documentazione di Windows SDK) prima di restituire il puntatore dell'interfaccia al plug-in. Il plug-in deve salvare questo puntatore per usarlo in un secondo momento per chiamare i metodi di interfaccia.
Quando il puntatore all'interfaccia IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS o IPrintCorePS2 non è più necessario, il plug-in deve chiamare il metodo Release dell'interfaccia (descritto nella documentazione di Windows SDK).
Per consentire ai plug-in di usare la nuova interfaccia IPrintCoreHelperPS o IPrintCoreHelperUni, il plug-in deve aggiungere il supporto per OEMGI_GETREQUESTEDHELPERINTERFACES nel metodo IPrintOemUI::GetInfo, IPrintOemPS::GetInfo o IPrintOemUni::GetInfo.