使用增强的指向和打印
重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅新式打印平台和打印支持应用设计指南。
更新的打印机共享机制被称为增强的指向和打印,它允许打印客户端打印到 v4 共享,而无需从打印服务器下载制造商提供的设备驱动程序。
由于客户端计算机在连接到具有增强的指向和打印和 v4 打印机驱动程序的打印服务器时不会下载整个驱动程序包,因此请务必注意以下体系结构。 此信息应帮助你适当开发和打包 v4 打印机驱动程序。
Windows 8 客户端连接行为
当 Windows 8 客户端连接到使用 v4 打印机驱动程序的共享打印队列时,客户端将尝试获取支持客户端呈现的驱动程序。 客户端在本地 DriverStore 中搜索与服务器驱动程序的 PrinterDriverID 匹配的 HardwareID 的驱动程序。 如果找到一个驱动程序,则会在本地安装该驱动程序。 否则,客户端将使用增强的指向和打印驱动程序进行连接。
在这两种情况下,客户端都使用 GetPrinterDataEx 调用从服务器下载配置数据。 配置数据包括通用打印机说明 (GPD) 文件、PostScript 打印机说明 (PPD) 文件、驱动程序属性包、JavaScript 约束和资源 DLL 等数据文件。 客户端还会下载与服务器驱动程序关联的 CAT 文件。
然后,打印系统检查客户端并验证资源 DLL 是否不包含可执行代码。 打印系统还会验证下载的文件是否有效,并由从服务器下载的 CAT 文件签名。 任何不受信任的文件都将被删除。 下图说明了 Windows 8 客户端与使用 v4 打印机驱动程序的共享打印服务器之间的此配置相关通信。
Windows 7 客户端连接行为
Windows 7 客户端还可以连接到使用 v4 打印机驱动程序的共享打印队列。 但是,在这种情况下,客户端将始终从服务器下载增强的指向和打印驱动程序。 此驱动程序使用服务器端呈现来确保为打印机生成正确的打印机描述语言 (PDL)。
使用 GetPrinterDataEx 调用从服务器下载配置数据的方式与 Windows 7 客户端连接的方式相同。 如果任何下载的文件无法验证服务器的 CAT 文件,则会删除这些文件。 下图说明了 Windows 7 客户端与使用 v4 打印机驱动程序的共享打印服务器之间的此配置相关通信。
由 v3 打印机驱动程序支持的共享打印机将继续使用现有的指向和打印系统。