V4 驱动程序 INF

重要

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

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

v4 打印驱动程序设置模型继续使用 INF 文件,但也使用新的清单文件来捕获特定于打印机的设置指令。

重要

从 WDK for Windows 11 版本 22H2 开始,不再支持 WDF 可再发行组件共同安装程序。 若要了解如何解决此更改,请参阅 WDF 可再发行组件共同安装程序在WDK 已知问题 中不起作用一文。

示例 INF

请注意,本主题中提供的示例 v4 打印驱动程序 INF 文件不包含任何特定于打印机的指令。 特定于打印机的说明包含在 v4 清单文件中,该文件始终以“–manifest.ini”结尾。 驱动程序包中的每个驱动程序都可以指定其自己的 v4 清单文件。

以下示例 INF 文件假定虚构公司 Fabrikam 制造了将安装用于运行 v4 打印驱动程序的打印设备。

[Version]
Signature="$Windows NT$"
Provider="Fabrikam"
Class=Printer
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
CatalogFile=prnfa999.CAT
DriverVer=09/12/2010,6.2.8060.4
ClassVer=4.0 ;This causes v4 setup to take place
PnpLockdown=1

[Manufacturer]
"Fabrikam"=Fabrikam,NTamd64

[Fabrikam.NTamd64] ;Add your models here
"Fabrikam Laser 9000" =        Laser9000,Fabrik9000_sdfjkals                     ;HWID example
"Fabrikam Laser 9100" =        Laser9000,Fabrik9100_sjkasj                       ;HWID example
"Fabrikam Laser 9000 series" = Laser9000,{E0691E8C-F7CC-456E-A7B5-D1FC19BA2279}  ;PrinterDriverID

[Laser9000]
CopyFiles=Laser9000_FILES

[Laser9000_FILES]
faPDL.gpd
faPDL-pipelineconfig.xml
faPDL-manifest.ini
faPDL.dll

[SourceDisksNames.amd64]
1 = %Location%,,,
2 = %Location%,,,amd64

[SourceDisksNames.x86]
1 = %Location%,,,
2 = %Location%,,,x86

[DestinationDirs]
DefaultDestDir=66000

[SourceDisksFiles]
faPDL.gpd=1
faPDL-pipelineconfig.xml=1
faPDL-manifest.ini = 1
faPDL.dll =2

[Strings]
Location="Fabrikam DVD"

INF 指令

下表显示了 v4 打印驱动程序和打印类驱动程序中允许的打印机特定指令的列表。

指令 说明 限制 使用情况
ClassVer 用于指示打印机类驱动程序为 v4。 V4 打印驱动程序必须指定 ClassVer=4.0。 V3 打印驱动程序可以指定 ClassVer=3.0,但它是可选的。 目前不支持其他值。 ClassVer=4.0

DestinationDirs 关键字

v4 驱动程序 INF 要求为包中的所有文件指定 DestinationDir 。 下表列出了支持的 DestinationDir 值。

DestinationDir ID 说明
66000 [此目标 ID 已为 v4 驱动程序重载]

V4:必须将其设置为 v4 打印驱动程序的 DefaultDestDir。 指定应从驱动程序存储运行文件。

V3:这指定文件应安装到 \3 目录。
23 V4:必须将其设置为任何颜色配置文件的 DestinationDir

V3:应使用打印机特定的 DirID 66003 安装颜色配置文件。

INF 限制

V4 打印驱动程序不得定义以下列表中调用的其他打印机特定指令或关键字。

INF 文件关键字 (keyword) 使用类型
AddInterface 指令
AddReg 指令
AddService 指令
BitReg 指令
ClassInstall32 节类型
ClassInstall32.Service 节类型
ConfigFile v3 打印指令
CoreDriverDependencies v3 打印指令
CoreDriverSections v3 打印指令
DataFile v3 打印指令
DDInstall.CoInstallers 节类型
DDInstall.FactDef 节类型
DDInstall.HW 节类型
DDInstall.Interfaces 节类型
DDInstall.LogConfigOverride 节类型
DDInstall.Services 节类型
DDInstall.WMI 节类型
DefaultInstall 节类型
DefaultInstall.Services 节类型
DelFiles 指令
DelReg 指令
DelService 指令
DontReflectOffline 指令
DriverFile v3 打印指令
DriverIsolation v3 打印指令
FeatureScore 指令
HelpFile v3 打印指令
包括 指令
Ini2Reg 指令
InterfaceInstall32 节类型
LayoutFile 指令
LogConfig 指令
需求 指令
PackageAware v3 打印指令
RenFiles 指令
UpdateIniFields 指令
UpdateInis 指令

NTPrint 引用

NTPrint 引用是在清单文件中进行的。 INF 文件不需要其 DDInstall、CopyFiles 或 SourceDisksFiles 部分中有关 NTPrint 引用的任何信息。

配置模块参考

所有打印驱动程序使用相同的配置模块二进制文件 (PrintConfig.dll) ;驱动程序没有用于选择配置模块的机制。

有关如何为基本 v4 打印机驱动程序创建 INF 文件的信息,请参阅 生成基本 v4 打印机驱动程序