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

重要

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

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

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

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

IID_IPrintOemUIWindows XP 和更高版本的 Windows 操作系统上IID_IPrintOemUI2 (Pscript5 UI 插件,) IID_IPrintOemDriverUI windows XP 和更高版本的 Windows 操作系统上的 IID_IPrintCoreUI2 (Pscript5 UI 插件) windows XP 和更高版本的 Windows 操作系统上的 IID_IPrintOemUni2 IID_IPrintOemUni (Unidrv 呈现插件和更高版本的 Windows 操作系统) IID_IPrintOemUni3 (Unidrv 在 Windows Vista 和更高版本的 Windows 操作系统) IID_IPrintOemDriverUniIID_IPrintOemPSIID_IPrintOemPS2 (Pscript5 呈现插件 windows 操作系统) IID_IPrintOemDriverPSIID_IPrintCorePS2 (Pscript5 呈现插件在 Windows XP 和更高版本的 Windows 操作系统) 每个 GUID 标识一个接口的一个版本。 如果定义了接口的新版本,则会将新的 GUID 添加到列表中。

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

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