IPrintOemUI::P ublishDriverInterface 方法 (prcomoem.h)
方法 IPrintOemUI::PublishDriverInterface
可讓使用者介面外掛程式取得 Unidrv 或 Pscript5 驅動程式的 IPrintOemDriverUI、 IPrintCoreUI2、 IPrintCoreHelperPS 或 IPrintCoreHelperUni 介面。
語法
HRESULT PublishDriverInterface(
IUnknown *pIUnknown
);
參數
pIUnknown
驅動程式 IPrintCoreUI2 COM 介面、IPrintOemDriverUI COM 介面、IPrintCoreHelperPS 介面或 IPrintCoreHelperUni 介面的呼叫端提供的指標。 請參閱<備註>。
傳回值
方法必須傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
作業成功。 |
|
作業失敗。 |
備註
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 方法傳回 pBuffer 中的 OEMPUBLISH_IPRINTCOREHELPER值,以回應 dwMode 設定為 OEMGI_GETREQUESTEDHELPERINTERFACES的呼叫,Pscript5 驅動程式會再次呼叫
IPrintOemUI::PublishDriverInterface
方法,但 pIUnknown 指標會設定為實作 IPrintCoreHelperPS 和 IPrintCoreHelper 介面的物件。 如果外掛程式可以使用 IPrintCoreHelperPS 或 IPrintCoreHelper 介面,此方法應該會傳回S_OK。 否則,方法應該會傳回E_FAIL。
-
Unidrv 驅動程式會先呼叫
IPrintOemUI::PublishDriverInterface
方法,並將 pIUnknown 指標設定為 IPrintOemDriverUI 實例的 IUnknown 介面。 如果外掛程式能夠使用 IPrintOemDriverUI 介面,則方法必須傳回S_OK。 否則,外掛程式應該會傳回E_FAIL。 -
如果外掛程式的 IPrintOemUI::GetInfo 方法傳回 pBuffer 中的 OEMPUBLISH_IPRINTCOREHELPER值,以回應 dwMode 設定為 OEMGI_GETREQUESTEDHELPERINTERFACES的呼叫,Unidrv 驅動程式會再次呼叫
IPrintOemUI::PublishDriverInterface
方法,但 pIUnknown 指標會設定為實作 IPrintCoreHelperUni 和 IPrintCoreHelper 介面的物件。 如果外掛程式使用 IPrintCoreHelperUni 或 IPrintCoreHelper 介面,此方法應該會傳回S_OK。 否則,方法應該會傳回E_FAIL。
IPrintOemUI::PublishDriverInterface
都失敗,外掛程式將不會收到進一步的呼叫。 如果使用者介面外掛程式將呼叫 IPrintCoreUI2、IPrintOemDriverUI、IPrintCoreHelperPS 或 IPrintCoreHelperUni 介面方法,則必須使用接收的 IUnknown 介面指標來呼叫 IUnknown::QueryInterface (Microsoft Windows SDK) 檔案中所述,才能取得驅動程式支援的 IPrintCoreUI2 版本的指標,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 方法來寫入設定。 這些不同版本的介面之間不支援讀取和寫入設定的同步處理。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | prcomoem.h (包括 Prcomoem.h) |