打印机驱动程序的接口标识符

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

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

prcomoem.h 中定义了一组 GUID。 其中每个 GUID 都是用于打印机驱动程序(Unidrv 和 Pscript5)和插件之间通信的 COM 接口之一的接口标识符。

对于 Windows 2000 和 Windows XP,定义了以下 GUID:

IID_IPrintOemUIIID_IPrintOemUI2(Windows XP 及更高版本的 Windows 操作系统上的 Pscript5 UI 插件)IID_IPrintOemDriverUIIID_IPrintCoreUI2(Windows XP 及更高版本的 Windows 操作系统上的 Pscript5 UI 插件) IID_IPrintOemUniIID_IPrintOemUni2(Windows XP 及更高版本的 Windows 操作系统上的 Unidrv 渲染插件)IID_IPrintOemUni3(Windows Vista 及更高版本的 Windows 操作系统上的 Unidrv 渲染插件)IID_IPrintOemDriverUniIID_IPrintOemPSIID_IPrintOemPS2(Windows XP 及更高版本的 Windows 操作系统上的 Pscript5 渲染插件) IID_IPrintOemDriverPSIID_IPrintCorePS2(Windows XP 及更高版本的 Windows 操作系统上的 Pscript5 渲染插件)每个 GUID 标识一个接口的一个版本。 如果定义了接口的新版本,则会向列表中添加新的 GUID。

用户界面插件和渲染插件必须标识它们支持的接口版本。 打印机驱动程序(Unidrv 或 Pscript5)调用插件的 IUnknown::QueryInterface 方法(在 Windows SDK 文档中介绍),指定接口标识符作为输入。 如果插件支持指定的版本,则该方法必须返回指向接口的指针以及 S_OK 的返回状态。 否则,它必须返回 E_NOINTERFACE。 驱动程序从最新版本的接口标识符开始,并继续使用早期版本标识符调用 QueryInterface,直到该方法返回 S_OK 或驱动程序耗尽版本标识符列表。

同样,Unidrv 和 Pscript5 为 IPrintOemDriverUIIPrintCoreUI2IPrintOemDriverUniIPrintOemDriverPSIPrintCorePS2 COM 接口提供 IUnknown::QueryInterface 方法。 插件应调用相应的接口的 QueryInterface 方法,以确定驱动程序支持的接口版本并接收接口指针。