本地打印提供程序

警告从 Windows 10 开始,支持第三方打印提供程序的 API 已弃用。 Microsoft 不建议对第三方打印提供商进行任何投资。 此外,在提供 v4 打印驱动程序模型的Windows 8和较新的产品上,第三方打印提供商可能不会创建或管理使用 v4 打印驱动程序的队列。

Microsoft Windows 2000 及更高版本的本地打印提供程序为通过本地打印提供程序的端口监视器访问的所有打印机提供作业控制和打印机管理功能。 (客户端管理员在使用“添加打印机向导”时通过选择“ 本地打印机 ”选项来设置对此类打印机的访问权限。) 此类打印机包括连接到本地系统的串行端口和并行端口的打印机。 它们还可以包括连接到其他 I/O 通道(如 SCSI 端口)的设备,以及连接到基于 NT 的远程操作系统服务器的打印机。

本地打印提供程序实现 打印提供程序定义的整个函数集。 它还提供以下功能:

  • 打印作业后台处理程序,将作业的反池定向到本地可访问的打印队列。

  • 支持调用本地打印机接口 DLL 的 Windows 2000 及更高操作系统版本的打印机 驱动程序体系结构

  • 对供应商提供的打印处理器的支持 (请参阅 编写打印处理器) 。

  • 对供应商提供的打印监视器的支持 (请参阅 编写打印监视器) 。

下图提供了一个 (应用程序创建打印作业时,本地打印机提供程序组件之间的控制流的) 视图略为简化。

显示应用程序创建打印作业时本地打印机提供程序组件之间的控制流的视图的示意图。

如图所示,应用程序通过调用图形驱动程序接口 (GDI) 来创建打印作业。 无论打印作业的初始输出格式是否为 EMF,本地打印提供程序的作业创建 API 都会创建后台打印文件。 稍后,当计划作业时,将读取后台打印文件,如果格式是 增强型图元文件 (EMF) ,则 EMF 打印处理器在 打印机图形 DLL 的帮助下将作业发送回 GDI 以转换为 RAW 格式。 然后,转换后的数据流可以通过本地打印提供程序发送回打印机 (,而无需重新) 。

供应商可以创建 部分打印提供程序 ,这些提供程序与本地打印提供程序结合使用以支持自定义网络配置。