发布接口

插件通常接收对象的实例,这些对象通过称为发布的机制在核心驱动程序中实现行为。 IPrintCoreHelper、IPrintCoreHelperPSIPrintCoreHelperUni 帮助程序接口通过同一模型发布,但存在一些细微差异。

以下列表汇总了在用户界面中发布对象的顺序, (UI) Unidrv 和 Pscript5 的呈现模块。 对于这四个模块中的每个模块,列表中的数字指示对象的发布顺序,名为 的 COM 接口指示对象实现哪些接口。

在任何给定的模块中,驱动程序只应保留通过保存指针并调用 该对象上的 AddRef 方法发布的对象之一。 插件存储对 对象的引用后,该插件应返回S_OK。 然后,核心驱动程序将停止发布接口。 此模型与以前的发布机制没有明显区别。

在 UI 上下文中,对象发布到类的 IPrintUiUI 接口,该类的类标识符CLSID_OEMUI。 在呈现上下文中,对象将发布到 IPrint 的"IPrint""数据""Ip"或"IPrint""Uni"接口。

以下列表中标有星号 (*) 对象发布到 IPrintPrintTicketProvider 接口。

Unidrv UI 模块发布顺序

  1. IUnknown 和 *IPrintCoreHelperIPrintCoreHelperUni

  2. IUnknownIPrintPrintDriverUI

Unidrv 呈现器模块发布顺序

  1. IUnknownIPrintCoreHelperIPrintCoreHelperUni

  2. IUnknownIPrintPrintDriverUni

Pscript5 UI 模块发布顺序

  1. IUnknown 和 *IPrintCoreHelper 和IPrintCoreHelperPS

  2. IUnknownIPrintCoreUI2

  3. IUnknownIPrintPrintDriverUI

Pscript5 呈现器模块发布顺序

  1. IUnknownIPrintCoreHelperIPrintCoreHelperPS

  2. IUnknownIPrintCorePS2