IPrintOemUI::P ublishDriverInterface-Methode (prcomoem.h)

Die IPrintOemUI::PublishDriverInterface -Methode ermöglicht es einem Benutzeroberflächen-Plug-In, die IPrintOemDriverUI-, IPrintCoreUI-, IPrintCoreHelperPS- oder IPrintCoreHelperUni-Schnittstelle des Unidrv- oder Pscript5-Treibers abzurufen.

Syntax

HRESULT PublishDriverInterface(
  IUnknown *pIUnknown
);

Parameter

pIUnknown

Vom Aufrufer bereitgestellter Zeiger auf die IUnknown-Schnittstelle der IPrintCoreUI2-COM-Schnittstelle des Treibers, IPrintOemDriverUI COM-Schnittstelle, IPrintCoreHelperPS-Schnittstelle oder IPrintCoreHelperUni-Schnittstelle. Siehe Hinweise.

Rückgabewert

Die -Methode muss einen der folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Der Vorgang wurde erfolgreich ausgeführt.
E_FAIL
Fehler beim Vorgang.

Hinweise

Der Pscript5-Treiber unterstützt die Schnittstellen IPrintCoreUI2, IPrintOemDriverUI und IPrintCoreHelperPS . Unidrv unterstützt die Schnittstellen IPrintOemDriverUI und IPrintCoreHelperUni . Benutzeroberflächen-Plug-Ins für beide Treibertypen müssen die IPrintOemUI::PublishDriverInterface -Methode implementieren.

Die -Methode sollte Informationen zu den unterstützten Pscript5-Schnittstellen wie folgt zurückgeben:

  1. Der Pscript5-Treiber ruft zuerst die IPrintOemUI::PublishDriverInterface -Methode auf, wobei der pIUnknown-Zeiger auf die IUnknown-Schnittstelle des IUnknown-instance festgelegt ist. Wenn das Benutzeroberflächen-Plug-In die IPrintCoreUI2-Schnittstelle verwenden kann, muss die Methode S_OK zurückgeben. Andernfalls sollte das Plug-In E_FAIL zurückgeben.
  2. Wenn das Plug-In E_FAIL zurückgegeben hat, ruft der Pscript5-Treiber die IPrintOemUI::PublishDriverInterface -Methode erneut auf, jedoch mit dem pIUnknown-Zeiger, der auf die IUnknown-Schnittstelle von IPrintOemDriverUI instance festgelegt ist. Wenn das Plug-In die IPrintOemDriverUI-Schnittstelle verwenden kann, muss die Methode S_OK zurückgeben. Andernfalls sollte das Plug-In E_FAIL zurückgeben.
  3. Wenn die IPrintOemUI::GetInfo-Methode des Plug-Ins als Reaktion auf einen Aufruf, bei dem dwMode auf OEMGI_GETREQUESTEDHELPERINTERFACES festgelegt ist, den Wert OEMPUBLISH_IPRINTCOREHELPER in pBuffer zurückgegeben hat, ruft der Pscript5-Treiber die IPrintOemUI::PublishDriverInterface -Methode erneut auf, wobei jedoch der pIUnknown-Zeiger auf ein Objekt festgelegt ist, das die Schnittstellen IPrintCoreHelperPS und IPrintCoreHelper implementiert. Wenn das Plug-In die IPrintCoreHelperPS - oder IPrintCoreHelper-Schnittstelle verwenden kann, sollte die Methode S_OK zurückgeben. Andernfalls sollte die -Methode E_FAIL zurückgeben.
Die -Methode sollte Informationen zu den unterstützten Unidrv-Schnittstellen wie folgt zurückgeben:
  1. Der Unidrv-Treiber ruft zuerst die IPrintOemUI::PublishDriverInterface -Methode auf, wobei der pIUnknown-Zeiger auf die IUnknown-Schnittstelle des IUnknown-instance festgelegt ist. Wenn das Plug-In die IPrintOemDriverUI-Schnittstelle verwenden kann, muss die Methode S_OK zurückgeben. Andernfalls sollte das Plug-In E_FAIL zurückgeben.
  2. Wenn die IPrintOemUI::GetInfo-Methode des Plug-Ins als Reaktion auf einen Aufruf mit dwMode, der auf OEMGI_GETREQUESTEDHELPERINTERFACES festgelegt ist, den Wert OEMPUBLISH_IPRINTCOREHELPER in pBuffer zurückgegeben hat, ruft der Unidrv-Treiber die IPrintOemUI::PublishDriverInterface -Methode erneut auf, wobei der pIUnknown-Zeiger jedoch auf ein Objekt festgelegt ist, das die Schnittstellen IPrintCoreHelperUni und IPrintCoreHelper implementiert. Wenn das Plug-In die IPrintCoreHelperUni - oder IPrintCoreHelper-Schnittstelle verwendet, sollte die Methode S_OK zurückgeben. Andernfalls sollte die -Methode E_FAIL zurückgeben.
Wenn das Plug-In alle Aufrufe von IPrintOemUI::PublishDriverInterfacefehlschlägt, empfängt das Plug-In keine weiteren Aufrufe. Wenn das Benutzeroberflächen-Plug-In IPrintCoreUI2, IPrintOemDriverUI, IPrintCoreHelperPS oder IPrintCoreHelperUni-Schnittstellenmethoden aufruft, muss es den empfangenen IUnknown-Schnittstellenzeiger verwenden, um IUnknown::QueryInterface aufzurufen (in der Microsoft Windows SDK-Dokumentation beschrieben), um einen Zeiger auf die vom Treiber unterstützte Version von IPrintCoreUI2 zu erhalten, IPrintOemDriverUI-, IPrintCoreHelperPS- oder IPrintCoreHelperUni-Schnittstelle. Weitere Informationen finden Sie unter Schnittstellenbezeichner für Druckertreiber.

Während der Verarbeitung jeder DDI-Funktion sollten UI-Plug-Ins nicht die Verwendung von Methoden der Vor-Windows Vista-Schnittstellen (z. B. die IPrintOemDriverUI - oder IPrintCoreUI2-Schnittstelle ) und die neuen Methoden der Windows Vista-Schnittstellen (z. B. IPrintCoreHelperUni oder IPrintCoreHelperPS) kombinieren, um Treibereinstellungen zu lesen oder zu schreiben. Beispielsweise sollte das UI-Plug-In während der IPrintOemUI::D ocumentPropertySheets-Methode nicht die IPrintOemDriverUI::D rvUpdateUISetting-Methode verwenden, um Einstellungen zu schreiben und die IPrintCoreHelper::GetOption-Methode zum Lesen von Einstellungen zu verwenden. Ein weiteres Beispiel: Während der IPrintOemUI::P rinterEvent-Methode sollte das UI-Plug-In nicht die IPrintCoreUI2::GetOptions-Methode verwenden, um Einstellungen zu lesen und die IPrintCoreHelper::SetOptions-Methode zum Schreiben von Einstellungen zu verwenden. Die Synchronisierung des Lesens und Schreibens von Einstellungen zwischen diesen verschiedenen Versionen von Schnittstellen wird nicht unterstützt.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile prcomoem.h (include Prcomoem.h)

Weitere Informationen

IPrintOemUI

IPrintOemUI::GetInfo