从插件访问打印机驱动程序接口
重要
建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) ,自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅 打印支持应用设计指南。
如果插件调用属于驱动程序提供的 IPrintOemDriverUI、 IPrintCoreHelperPS、 IPrintCoreHelperUni、 IPrintCoreUI2、 IPrintOemDriverUni、 IPrintOemDriverPS 或 IPrintCorePS2 COM 接口的方法,则必须从驱动程序获取接口指针,如下所示:
插件必须实现 IPrintOemUI、IPrintOemUI2、IPrintOemUni、IPrintOemUni2、IPrintOemPS 或 IPrintOemPS2 接口的 PublishDriverInterface 方法。
当驱动程序 (Unidrv 或 Pscript5) 调用插件的 PublishDriverInterface 方法时,它会提供指向 IPrintOemDriverUI、 IPrintCoreUI2、 IPrintOemDriverUni、 IPrintOemDriverPS 或 IPrintCorePS2 实例的 IUnknown 接口的指针。
插件必须使用 IUnknown 接口指针来调用 IUnknown::QueryInterface,并指定表示 IPrintOemDriverUI、 IPrintCoreUI2、 IPrintOemDriverUni、 IPrintOemDriverPS 或 IPrintCorePS2 接口的接口标识符。 (有关详细信息,请参阅 打印机驱动程序的接口标识符。)
如果插件指定表示驱动程序支持的接口版本的接口标识符,QueryInterface 将返回指向 IPrintOemDriverUI、 IPrintCoreUI2、 IPrintOemDriverUni、 IPrintOemDriverPS 或 IPrintCorePS2 接口的指针。 请注意,驱动程序在返回指向插件的接口指针之前, (Windows SDK 文档) 中所述调用接口的 AddRef 方法。 插件应保存此指针,以便稍后使用它来调用接口方法。
当不再需要 IPrintOemDriverUI、 IPrintCoreUI2、 IPrintOemDriverUni、 IPrintOemDriverPS 或 IPrintCorePS2 接口指针时,插件必须调用接口的 Release 方法 (Windows SDK 文档) 中所述。
若要使插件使用新的 Windows Vista IPrintCoreHelperPS 或 IPrintCoreHelperUni 接口,插件需要在其 IPrintOemUI::GetInfo、IPrintOemPS::GetInfo 或 IPrintOemUni::GetInfo 方法中添加对 OEMGI_GETREQUESTEDHELPERINTERFACES的支持。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈