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 方法在 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) |