Pubblicazione delle interfacce

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.

I plug-in ricevono in genere istanze di oggetti che implementano il comportamento nei driver principali da un meccanismo denominato pubblicazione. Le interfacce helper IPrintCoreHelper, IPrintCoreHelperPS e IPrintCoreHelperUni vengono pubblicate con lo stesso modello, con alcune piccole differenze.

Gli elenchi seguenti riepilogano l'ordine in cui gli oggetti vengono pubblicati nell'interfaccia utente e nei moduli di rendering, sia per Unidrv che per Pscript5. Per ognuno dei quattro moduli, il numero nell'elenco indica l'ordine in cui viene pubblicato un oggetto e le interfacce COM denominate indicano quali interfacce implementano l'oggetto.

In un determinato modulo, il driver deve mantenere solo uno degli oggetti pubblicati salvando un puntatore e chiamando il metodo AddRef su tale oggetto. Dopo che il plug-in archivia il riferimento all'oggetto, il plug-in deve restituire S_OK. Il driver principale interromperà quindi la pubblicazione delle interfacce. Questo modello non è significativamente diverso dal meccanismo di pubblicazione precedente.

Nel contesto dell'interfaccia utente gli oggetti vengono pubblicati nell'interfaccia IPrintOemUI nella classe il cui identificatore di classe è CLSID_OEMUI. Nel contesto di rendering, gli oggetti vengono pubblicati nelle interfacce IPrintOemPS o IPrintOemUni .

Gli oggetti contrassegnati con un asterisco (*) negli elenchi seguenti vengono pubblicati nell'interfaccia IPrintOemPrintTicketProvider .

Ordine di pubblicazione del modulo dell'interfaccia utente unidrv

  1. IUnknown e *IPrintCoreHelper e IPrintCoreHelperUni

  2. IUnknown e IPrintOemDriverUI

Ordine di pubblicazione del modulo di rendering unidrv

  1. IUnknown e IPrintCoreHelper e IPrintCoreHelperUni

  2. IUnknown e IPrintOemDriverUni

Ordine di pubblicazione del modulo dell'interfaccia utente Pscript5

  1. IUnknown e *IPrintCoreHelper e IPrintCoreHelperPS

  2. IUnknown e IPrintCoreUI2

  3. IUnknown e IPrintOemDriverUI

Ordine di pubblicazione del modulo di rendering Pscript5

  1. IUnknown e IPrintCoreHelper e IPrintCoreHelperPS

  2. IUnknown e IPrintCorePS2