重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅 打印支持应用设计指南。
插件通常接收通过名为发布的机制在核心驱动程序中实现行为的对象的实例。 IPrintCoreHelper、IPrintCoreHelperPS 和 IPrintCoreHelperUni 帮助程序接口可通过该同一模型发布,但会有一些细微差异。
以下列表汇总了 Unidrv 和 Pscript5 在用户界面 (UI) 和呈现模块中发布对象的顺序。 对于四个模块中的每个模块,列表中的数字指示对象发布顺序,而指定的 COM 接口指示对象实现的接口。
在任何给定模块中,驱动程序都只能保留一个已发布的对象,方法是保存指针并在该对象上调用 AddRef 方法。 插件存储对对象的引用后,插件应返回 S_OK。 然后,核心驱动程序将停止发布接口。 此模型与以前的发布机制没有明显不同。
在 UI 上下文中,会将对象发布到类标识符为 CLSID_OEMUI 的类上的 IPrintOemUI 接口。 在呈现上下文中,会将对象发布到 IPrintOemPS 或 IPrintOemUni 接口。
以下列表中标有星号 (*) 的对象将发布到 IPrintOemPrintTicketProvider 接口。
Unidrv UI 模块发布顺序
IUnknown 和 *IPrintCoreHelper 和 IPrintCoreHelperUni
IUnknown 和 IPrintOemDriverUI
Unidrv 呈现模块发布顺序
IUnknown 和 IPrintCoreHelper 和 IPrintCoreHelperUni
IUnknown 和 IPrintOemDriverUni
Pscript5 UI 模块发布顺序
IUnknown 和 *IPrintCoreHelper 和 IPrintCoreHelperPS
IUnknown 和 IPrintCoreUI2
IUnknown 和 IPrintOemDriverUI
Pscript5 呈现模块发布顺序
IUnknown 和 IPrintCoreHelper 和 IPrintCoreHelperPS
IUnknown 和 IPrintCorePS2