Condividi tramite


Accesso alle interfacce plug-in dai 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.

Se è installato un plug-in o un plug-in di rendering dell'interfaccia utente, il driver della stampante (Unidrv o Pscript5) usa la sequenza di chiamata seguente per ottenere l'accesso all'interfaccia COM IPrintOemUI, IPrintOemUI2, IPrintOemUni, IPrintOemUni2, IPrintOemUni3, IPrintOemPS o IPrintOemPS2:

  1. Il driver chiama LoadLibrary per caricare la DLL del plug-in, che provoca una chiamata alla funzione del DllMain plug-in.

  2. Il driver chiama la funzione del DllGetClassObject plug-in, che restituisce un puntatore all'interfaccia IClassFactory del plug-in.

  3. Il driver chiama il metodo CreateInstance dell'interfaccia IClassFactory, specificando un identificatore di interfaccia di IID_IUnknown, che fa sì che il metodo crei un'istanza dell'interfaccia IPrintOemUI, IPrintOemUI2, IPrintOemUni, IPrintOemUni2, IPrintOemUni3, IPrintOemPS o IPrintOemPS2 e restituisca un puntatore all'interfaccia IUnknown dell'istanza.

  4. Il driver chiama il metodo QueryInterface dell'interfaccia IUnknown per determinare quale versione dell'interfaccia IPrintOemUI, IPrintOemUI2, IPrintOemUni, IPrintOemUni2, IPrintOemUni3, IPrintOemPS o IPrintOemPS2 è supportata dal plug-in e per ricevere un puntatore all'interfaccia supportata.

  5. Il driver chiama il metodo dell'interfaccia PublishDriverInterface del plug-in per rendere disponibile l'interfaccia IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS o IPrintCorePS2.

  6. Se il plug-in ha implementato l'interfaccia IPrintOemUni, il driver chiama IPrintOemUni::GetImplementedMethod per determinare quali metodi di interfaccia sono stati implementati. Analogamente, se il plug-in ha implementato l'interfaccia IPrintOemUni2 , il driver chiama IPrintOemUni2::GetImplementedMethod per lo stesso scopo.