Condividi tramite


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:

  1. Il plug-in deve implementare il metodo PublishDriverInterface dell'interfaccia IPrintOemUI, IPrintOemUni2, IPrintOemUni2, IPrintOemPS o IPrintOemPS2.

  2. 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.

  3. 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.

  4. 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.

  5. 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.