Metodo IPrintOemUI::P ublishDriverInterface (prcomoem.h)

Il IPrintOemUI::PublishDriverInterface metodo consente a un plug-in dell'interfaccia utente di ottenere l'interfaccia IPrintOemDriverUI del driver Unidrv o Pscript5, IPrintCoreUI2, IPrintCoreHelperPS o IPrintCoreHelperUni .

Sintassi

HRESULT PublishDriverInterface(
  IUnknown *pIUnknown
);

Parametri

pIUnknown

Puntatore fornito dal chiamante all'interfaccia IUnknowndell'interfaccia COM IPrintCoreUI2 del driver, interfaccia COM IPrintOemDriverUI, interfaccia IPrintCoreHelperPS o interfaccia IPrintCoreHelperUni. Vedere la sezione Osservazioni.

Valore restituito

Il metodo deve restituire uno dei valori seguenti.

Codice restituito Descrizione
S_OK
Operazione completata.
E_FAIL
Operazione non riuscita.

Commenti

Il driver Pscript5 supporta le interfacce IPrintCoreUI2, IPrintOemDriverUI e IPrintCoreHelperPS . Unidrv supporta le interfacce IPrintOemDriverUI e IPrintCoreHelperUni . I plug-in dell'interfaccia utente per entrambi i tipi di driver devono implementare il IPrintOemUI::PublishDriverInterface metodo .

Il metodo deve restituire informazioni sulle interfacce Pscript5 supportate come indicato di seguito:

  1. Il driver Pscript5 chiama innanzitutto il IPrintOemUI::PublishDriverInterface metodo con il puntatore pIUnknown impostato sull'interfaccia IUnknown dell'istanza IUnknown dell'istanza IPrintCoreUI2. Se il plug-in dell'interfaccia utente è in grado di usare l'interfaccia IPrintCoreUI2 , il metodo deve restituire S_OK. In caso contrario, il plug-in deve restituire E_FAIL.
  2. Se il plug-in ha restituito E_FAIL, il driver Pscript5 chiama nuovamente il IPrintOemUI::PublishDriverInterface metodo, ma con il puntatore pIUnknown impostato sull'interfaccia IUnknown dell'istanza IUnknown dell'istanza IUnknown di IPrintOemDriverUI. Se il plug-in può usare l'interfaccia IPrintOemDriverUI , il metodo deve restituire S_OK. In caso contrario, il plug-in deve restituire E_FAIL.
  3. Se il metodo IPrintOemUI::GetInfo del plug-in ha restituito un valore di OEMPUBLISH_IPRINTCOREHELPER in pBuffer in risposta a una chiamata con dwMode impostato su OEMGI_GETREQUESTEDHELPERINTERFACES, il driver Pscript5 chiama di nuovo il IPrintOemUI::PublishDriverInterface metodo, ma con il puntatore pIUnknown impostato su un oggetto che implementa le interfacce IPrintCoreHelperPS e IPrintCoreHelper . Se il plug-in può usare l'interfaccia IPrintCoreHelperPS o IPrintCoreHelper , il metodo deve restituire S_OK. In caso contrario, il metodo deve restituire E_FAIL.
Il metodo deve restituire informazioni sulle interfacce Unidrv supportate come indicato di seguito:
  1. Il driver Unidrv chiama innanzitutto il IPrintOemUI::PublishDriverInterface metodo con il puntatore pIUnknown impostato sull'interfaccia IUnknown dell'istanza IUnknown dell'istanza IUnknowndi IPrintOemDriverUI. Se il plug-in è in grado di usare l'interfaccia IPrintOemDriverUI , il metodo deve restituire S_OK. In caso contrario, il plug-in deve restituire E_FAIL.
  2. Se il metodo IPrintOemUI::GetInfo del plug-in ha restituito un valore di OEMPUBLISH_IPRINTCOREHELPER in pBuffer in risposta a una chiamata con dwMode impostato su OEMGI_GETREQUESTEDHELPERINTERFACES, il driver Unidrv chiama di nuovo il IPrintOemUI::PublishDriverInterface metodo, ma con il puntatore pIUnknown impostato su un oggetto che implementa le interfacce IPrintCoreHelperUni e IPrintCoreHelper . Se il plug-in usa l'interfaccia IPrintCoreHelperUni o IPrintCoreHelper , il metodo deve restituire S_OK. In caso contrario, il metodo deve restituire E_FAIL.
Se il plug-in non riesce tutte le chiamate a IPrintOemUI::PublishDriverInterface, il plug-in non riceverà ulteriori chiamate. Se il plug-in dell'interfaccia utente chiamerà i metodi di interfaccia IPrintCoreUI2, IPrintOemDriverUI, IPrintCoreHelperPS o IPrintCoreHelperUni, deve usare il puntatore di interfaccia IUnknown ricevuto per chiamare IUnknown::QueryInterface (descritto nella documentazione di Microsoft Windows SDK) per ottenere un puntatore alla versione supportata del driver di IPrintCoreUI2, Interfaccia IPrintOemDriverUI, IPrintCoreHelperPS o IPrintCoreHelperUni. Per altre informazioni, vedere Identificatori di interfaccia per i driver della stampante.

Durante l'elaborazione di ogni funzione DDI, i plug-in dell'interfaccia utente non devono combinare l'uso dei metodi delle interfacce pre-Windows Vista (ad esempio, L'interfaccia IPrintOemDriverUI o IPrintCoreUI2 ) e i nuovi metodi delle interfacce di Windows Vista (ad esempio IPrintCoreHelperUni o IPrintCoreHelperPS) per leggere o scrivere le impostazioni del driver. Ad esempio, durante il metodo IPrintOemUI::D ocumentPropertySheets , il plug-in dell'interfaccia utente non deve usare il metodo IPrintOemDriverUI::D rvUpdateUISetting per scrivere le impostazioni e usare il metodo IPrintCoreHelper::GetOption per leggere le impostazioni. Per un altro esempio, durante il metodo IPrintOemUI::P rinterEvent , il plug-in dell'interfaccia utente non deve usare il metodo IPrintCoreUI2::GetOptions per leggere le impostazioni e usare il metodo IPrintCoreHelper::SetOptions per scrivere le impostazioni. La sincronizzazione delle impostazioni di lettura e scrittura non è supportata tra queste diverse versioni delle interfacce.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione prcomoem.h (include Prcomoem.h)

Vedi anche

IPrintOemUI

IPrintOemUI::GetInfo