发布接口

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) ,自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅 打印支持应用设计指南

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

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

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

在 UI 上下文中,对象将发布到类标识符为CLSID_OEMUI的类上的 IPrintOemUI 接口。 在呈现上下文中,对象将发布到 IPrintOemPSIPrintOemUni 接口。

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

Unidrv UI 模块发布顺序

  1. IUnknown 和 *IPrintCoreHelperIPrintCoreHelperUni

  2. IUnknownIPrintOemDriverUI

Unidrv 呈现模块发布顺序

  1. IUnknownIPrintCoreHelperIPrintCoreHelperUni

  2. IUnknownIPrintOemDriverUni

Pscript5 UI 模块发布顺序

  1. IUnknown 和 *IPrintCoreHelperIPrintCoreHelper

  2. IUnknownIPrintCoreUI2

  3. IUnknownIPrintOemDriverUI

Pscript5 呈现模块发布顺序

  1. IUnknownIPrintCoreHelperIPrintCoreHelperPS

  2. IUnknownIPrintCorePS2