V4 驱动程序 INF
重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅新式打印平台和打印支持应用设计指南。
v4 打印驱动程序安装模型继续使用 INF 文件,但也采用了新的清单文件来获取打印机特定安装指令。
重要
从 WDK for Windows 11 版本 22H2 开始,不再支持 WDF 可再发行的辅助安装程序。 要了解如何解决此更改,请参阅 WDK 已知问题文章中的 WDF 可再发行组件辅助安装程序不起作用。
示例 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 文件关键字 | 使用类型 |
---|---|
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 | 指令 |
帮助文件 | v3 打印指令 |
包括 | 指令 |
Ini2Reg | 指令 |
InterfaceInstall32 | 部分类型 |
LayoutFile | 指令 |
LogConfig | 指令 |
需求 | 指令 |
PackageAware | v3 打印指令 |
RenFiles | 指令 |
UpdateIniFields | 指令 |
UpdateInis | 指令 |
NTPrint 参考
在清单文件中引用 NTPrint。 INF 文件的 DDInstall、CopyFiles 或 SourceDisksFiles 部分不需要任何有关 NTPrint 引用的信息。
配置模块参考
所有打印驱动程序都使用相同的二进制配置模块 (PrintConfig.dll);驱动程序没有选择配置模块的机制。
相关主题
有关如何为基本 v4 打印机驱动程序创建 INF 文件的信息,请参阅生成基本 v4 打印机驱动程序。