使用更新的核心打印驱动程序

重要

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

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

大多数制造商提供的打印驱动程序只实现依赖于设备的功能,它们有赖于系统提供的核心驱动程序组件来管理通用打印机功能。 UniDrv、PostScript 和 XPSDrv 是核心驱动程序组件的示例,许多制造商提供的驱动程序都依赖这些组件来帮助控制和配置打印机。

通常情况下,打印机制造商不会在其打印驱动程序包中包含 Microsoft 的核心打印驱动程序。 相反,其驱动程序包中的 INF 文件只需调用 Microsoft 的打印机 INF 文件 Ntprint.inf,即可安装相应的核心打印驱动程序。

但是,Microsoft 会定期发布其核心打印驱动程序的更新版本,一些制造商可能会提供驱动程序包,而这些包需要的功能只有更新版本才会提供。 本部分介绍使用所需的核心打印驱动程序版本进行安装的步骤。

在 Windows Vista 和 Windows Server 2008 中,操作系统会将所有打印驱动程序包都视为唯一对象。 操作系统会将每个驱动程序包中的文件都存储在 Windows 驱动程序存储区的单独文件夹中。 Windows 打印机安装程序会配置驱动程序包,使其独立于其他驱动程序包运行,并且每个驱动程序包都由操作系统单独管理。

Windows 将每个驱动程序包作为一个完整的单元存储,在指向和打印过程中,整个驱动程序包会从打印服务器下载到客户端并进行安装。 包感知驱动程序与作为独立对象的驱动程序包管理兼容。 包感知打印驱动程序的 INF 文件中包含条目,即使其包对包之外的文件存在打印驱动程序依赖关系,也能启用指向和打印操作。

Windows Vista 中的更新

为了支持独立的驱动程序包,同时允许硬件制造商利用核心驱动程序组件,Windows Vista(及更高版本)允许包感知驱动程序注册对核心驱动程序包的依赖项。 在 Windows Vista 中,Microsoft 只为打印机提供了一个核心驱动程序包。 驱动程序信息文件 Ntprint.inf 对该包进行了描述。 几乎所有制造商提供的打印驱动程序(包括包感知驱动程序)都依赖于这个核心驱动程序包。

Microsoft 会定期发布该核心驱动程序包的更新版本。 例如,适用于 Windows Vista 的 Service Pack 1 就包含了核心驱动程序包的更新版本。 一些制造商可能会发现自己需要利用这些更新,而他们的驱动程序不能再依赖于最初发布的 Windows Vista 中包含的核心驱动程序包版本。

本部分将介绍如何构建依赖于更新的核心驱动程序文件的包感知驱动程序,以及如何确保在安装制造商提供的包感知驱动程序时安装更新的核心驱动程序包。

讨论了以下主题:

使用更新的核心驱动程序构造包感知驱动程序

更新非包感知驱动程序的核心驱动程序文件

创建适用于 Windows XP 和 Windows Vista 的单个驱动程序包