IPrintOemUI::P ublishDriverInterface メソッド (prcomoem.h)
IPrintOemUI::PublishDriverInterface
メソッドを使用すると、ユーザー インターフェイス プラグインは、Unidrv または Pscript5 ドライバーの IPrintOemDriverUI、IPrintCoreUI2、IPrintCoreHelperPS、または IPrintCoreHelperUni インターフェイスを取得できます。
構文
HRESULT PublishDriverInterface(
IUnknown *pIUnknown
);
パラメーター
pIUnknown
ドライバーの IPrintCoreUI2 COM インターフェイス、IPrintOemDriverUI COM インターフェイス、IPrintCoreHelperPS インターフェイス、または IPrintCoreHelperUni インターフェイスの IUnknownインターフェイスへの呼び出し元指定ポインター。 「解説」を参照してください。
戻り値
メソッドは、次のいずれかの値を返す必要があります。
リターン コード | 説明 |
---|---|
|
操作が成功しました。 |
|
操作が失敗しました。 |
注釈
Pscript5 ドライバーは、 IPrintCoreUI2、 IPrintOemDriverUI、および IPrintCoreHelperPS インターフェイスを サポートしています。 Unidrv では、 IPrintOemDriverUI インターフェイスと IPrintCoreHelperUni インターフェイスが サポートされています。 両方の種類のドライバーのユーザー インターフェイス プラグインは、 メソッドを実装する IPrintOemUI::PublishDriverInterface
必要があります。
メソッドは、サポートされている Pscript5 インターフェイスに関する情報を次のように返す必要があります。
-
Pscript5 ドライバーは、最初に
IPrintOemUI::PublishDriverInterface
pIUnknown ポインターを IPrintCoreUI2 インスタンスの IUnknown インターフェイスに設定して メソッドを呼び出します。 ユーザー インターフェイス プラグインが IPrintCoreUI2 インターフェイスを使用できる場合、メソッドは S_OKを返す必要があります。 それ以外の場合、プラグインは E_FAILを返す必要があります。 -
プラグインから E_FAILが返された場合、Pscript5 ドライバーはメソッドを再度呼び出
IPrintOemUI::PublishDriverInterface
しますが、 pIUnknown ポインターを IPrintOemDriverUI インスタンスの IUnknown インターフェイスに設定します。 プラグインで IPrintOemDriverUI インターフェイスを使用できる場合、メソッドは S_OKを返す必要があります。 それ以外の場合、プラグインは E_FAILを返す必要があります。 -
プラグインの IPrintOemUI::GetInfo メソッドが、dwMode を OEMGI_GETREQUESTEDHELPERINTERFACES に設定した呼び出しに応答して pBuffer で OEMPUBLISH_IPRINTCOREHELPER の値を返した場合、Pscript5 ドライバーはメソッドを再度呼び出
IPrintOemUI::PublishDriverInterface
しますが、pIUnknown ポインターは IPrintCoreHelperPS インターフェイスと IPrintCoreHelper インターフェイスを実装するオブジェクトに設定されます。 プラグインで IPrintCoreHelperPS または IPrintCoreHelper インターフェイスを使用できる場合、メソッドは S_OKを返す必要があります。 それ以外の場合、メソッドは E_FAILを返す必要があります。
-
Unidrv ドライバーは、まず、pIUnknown ポインターが IPrintOemDriverUI インスタンスの IUnknown インターフェイスに設定されたメソッドを呼び出
IPrintOemUI::PublishDriverInterface
します。 プラグインが IPrintOemDriverUI インターフェイスを使用できる場合、メソッドは S_OKを返す必要があります。 それ以外の場合、プラグインは E_FAILを返す必要があります。 -
プラグインの IPrintOemUI::GetInfo メソッドが、dwMode を OEMGI_GETREQUESTEDHELPERINTERFACES に設定した呼び出しに応答して pBuffer で OEMPUBLISH_IPRINTCOREHELPER の値を返した場合、Unidrv ドライバーはメソッドを再度呼び出
IPrintOemUI::PublishDriverInterface
しますが、pIUnknown ポインターは IPrintCoreHelperUni インターフェイスと IPrintCoreHelper インターフェイスを実装するオブジェクトに設定されます。 プラグインが IPrintCoreHelperUni または IPrintCoreHelper インターフェイスを使用している場合、メソッドは S_OKを返す必要があります。 それ以外の場合、メソッドは E_FAILを返す必要があります。
IPrintOemUI::PublishDriverInterface
失敗した場合、プラグインはそれ以上の呼び出しを受け取りません。 ユーザー インターフェイス プラグインが IPrintCoreUI2、IPrintOemDriverUI、IPrintCoreHelperPS、または IPrintCoreHelperUni インターフェイス メソッドを呼び出す場合、ドライバーのサポートされているバージョンの IPrintCoreUI2 へのポインターを取得するには、受信した IUnknown インターフェイス ポインターを使用して IUnknown::QueryInterface を呼び出す必要があります (Microsoft Windows SDKドキュメントに記載されています)。 IPrintOemDriverUI、IPrintCoreHelperPS、または IPrintCoreHelperUni インターフェイス。 詳細については、「 プリンター ドライバーのインターフェイス識別子」を参照してください。
各 DDI 関数の処理中に、UI プラグインは、Windows Vista 以前のインターフェイス ( IPrintOemDriverUI や IPrintCoreUI2 インターフェイスなど) のメソッドと、Windows Vista インターフェイスの新しいメソッド ( IPrintCoreHelperUni や IPrintCoreHelperPS など) を組み合わせてドライバー設定の読み取りまたは書き込みを行うべきではありません。 たとえば、 IPrintOemUI::D ocumentPropertySheets メソッドでは、UI プラグインで IPrintOemDriverUI::D rvUpdateUISetting メソッドを使用して設定を書き込み、 IPrintCoreHelper::GetOption メソッドを使用して設定を読み取る必要があります。 別の例として、 IPrintOemUI::P rinterEvent メソッドでは、UI プラグインで IPrintCoreUI2::GetOptions メソッドを使用して設定を読み取り、 IPrintCoreHelper::SetOptions メソッドを使用して設定を書き込む必要があります。 これらの異なるバージョンのインターフェイス間での設定の読み取りと書き込みの同期はサポートされていません。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |