INF Version 节

按照约定, 版本 部分首先出现在 INF 文件中。 每个 INF 文件都必须包含此部分。

[Version]
 
Signature="signature-name"
[Class=class-name]
[ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}]
[Provider=%INF-creator%]
[ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}]
[LayoutFile=filename.inf [,filename.inf]... ]  (Windows 2000 and Windows XP)
[CatalogFile=filename.cat]
[CatalogFile.nt=unique-filename.cat]
[CatalogFile.ntx86=unique-filename.cat]
[CatalogFile.ntia64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntamd64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntarm=unique-filename.cat]  (Windows 8 and later versions of Windows)
[CatalogFile.ntarm64=unique-filename.cat]  (Windows XP and later versions of Windows)

DriverVer=mm/dd/yyyy,w.x.y.z
[PnpLockDown=0|1] (Windows Vista and later versions of Windows)
[DriverPackageDisplayName=%driver-package-description%]
[DriverPackageType=PackageType]

签名 = "签名-名称"
必须为 NT $$Chicago $$Windows。 这表示此 INF 有效的操作系统。 这些签名值具有以下含义。

签名值 含义
$Windows NT $ 所有 Windows 操作系统
$Chicago $ 所有 Windows 操作系统

($) 中需要包含美元符号字符,但这些字符串不区分大小写。 如果 签名名称 不是这些字符串值中的任何一个,则不接受文件作为有效 INF。

通常,Windows 不区分这些签名值。 必须指定其中的一个,但这并不重要。 你应指定适当的值,以便读取 INF 文件的其他人可以确定所需的操作系统。

某些类安装程序提出有关如何指定签名值的其他要求。 此类要求(如果存在)将在此 Windows 驱动程序工具包 (WDK) 的设备特定于设备的部分中进行讨论。

INF 必须通过将系统定义的扩展追加到其 DDInstall 部分来提供特定于操作系统的安装信息,无论 签名名称$Windows NT $还是 $Chicago $。 有关这些扩展的讨论,请参阅 为多个平台和操作系统创建 INF 文件 (。 )

类 =类名
对于任何标准类型的设备,此名称指定设备 安装程序类 的名称,该类型是使用该 INF 文件安装的设备的类型。 此名称通常是系统定义的类名称之一,例如 NetDisplay, 它们列在 Devguid 中。 有关详细信息,请参阅 系统提供的设备安装程序类

如果 INF 指定了 类, 还应为其 ClassGUID 项指定相应的系统定义的 GUID 值。 为任何预定义的设备安装程序类的设备指定匹配 GUID 值可以更快地安装设备及其驱动程序,因为这有助于系统安装代码优化其 INF 搜索。

如果 INF 向系统中添加了一个新的设备安装类,则它应提供一个唯一的、不区分大小写的 类名称 值,该名称与 Devguid 中任何系统提供的类不同。 类名称 字符串的长度必须为32个字符或更少。 INF 必须为 ClassGUID 项指定新生成的 GUID 值。 另请参阅 INF ClassInstall32 部分

此条目与 INF 无关,后者在预定义的设备安装程序类和新的设备安装程序类下都不安装新的设备驱动程序。

注意 此项是通过即插即用 (PnP) manager 安装的设备驱动程序所必需的。

ClassGuid = {nnnnnnnn - nnnn - nnnn - - nnnnnnnnnnnn}
指定设备 安装程序类 GUID。 GUID 值的格式如下所示,其中每个 n 是一个十六进制数字。

此 GUID 值指定注册表中的设备安装程序类子项 ... \类 树,用于编写从此 INF 文件安装的设备驱动程序的注册表信息。 此类特定的 GUID 值还标识设备类型和特定于类的属性页提供程序的设备类安装程序(如果有)。

对于新的 设备安装程序类,INF 必须指定新生成的 ClassGUID 值。 若要详细了解如何创建 GUID,请参阅在驱动程序中使用 GUID。 另请参阅设备安装程序类。

注意 通过 PnP 管理器安装的设备驱动程序需要此项。

ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 指定创作扩展 INF 时扩展 ID GUID。 GUID 值的格式如下所示,其中每个 x 都是一个十六进制数字。

创建扩展 INF 的初始版本时,INF 必须指定新生成的 ExtensionId 值。 但是,更新现有扩展 INF 时 ,ExtensionId 必须保持不变,以便扩展 INF 的多个相关版本相互版本控制,而不是被视为可能同时安装在同一设备实例上的独立扩展 INF。 若要详细了解如何创作扩展 INF,请参阅 使用扩展 INF 文件

注意 只有在创建扩展 INF 时(通过指定 和 标识)才需要 Class = Extension 此项 ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}

ClassVer=主要minor

保留供系统使用,除非打印机等设备类明确要求。 例如,请参阅 V4 驱动程序 INF

Provider=%INF-creator%
标识 INF 文件的提供程序。 通常,这指定为稍后在 INF 文件的"字符串"部分中 % 展开的 OrganizationName % 令牌 。 提供程序名称的最大长度(以字符LINE_LEN。

例如,随系统一起提供的 INF 文件通常将 INF-creator 指定为 % Msft,并定义 % % Msft % = "Microsoft "的字符串部分。

注意 通过 PnP 管理器安装的设备驱动程序需要此项。

CatalogFile=文件名.cat
指定目录 (。cat) 文件要包含在设备/驱动程序的分发介质上。

驱动程序包提交到 Microsoft 进行数字签名时,WHQL 在WHQL 测试驱动程序包并为其分配数字签名后,会提供驱动程序包的目录文件。 有关 IHV 或 OEM 驱动程序包的测试与签名详细信息,请参阅 WHQL 发布签名。 目录文件未在 INF 的 SourceDisksFiles 节或 CopyFiles 指令中列出。 Windows 假定目录文件与 INF 文件位于同一位置。

系统提供的 INF 文件永远不会有 CatalogFile= 条目,因为操作系统会针对系统提供的所有 INF 文件验证 xxx.cat 签名。

CatalogFile.nt=unique-filename.cat |

CatalogFile.ntx86=unique-filename.cat |

CatalogFile.ntia64=unique-filename.cat |

CatalogFile.ntamd64=unique-filename.cat

CatalogFile.ntarm=unique-filename.cat

CatalogFile.ntarm64=unique-filename.cat

使用 指定另一个 INF 编写器确定的唯一文件名。目录 文件的 cat 扩展名。 如果省略这些可选条目,则给定的 CatalogFile=filename.cat 用于验证 WDM 设备/驱动程序安装。

如果有修饰的 CatalogFile。xxx = 条目与未修饰的 CatalogFile= 条目一起存在于 INF 的 Version 节中,未修饰的条目用于标识 filename.cat 以验证设备安装、驱动程序安装,或者两者均位于未指定修饰项的平台上。

具有 CatalogFile= 和 CatalogFile 的任何跨平台设备驱动程序 INF 文件。xxx = 条目必须为每个此类 .cat 文件提供唯一的 IHV/OEM 确定的名称。

若要详细了解如何使用系统定义的 .nt、.ntx86、.ntia64、.ntamd64、.ntarm 和 .ntarm64 扩展,请参阅为多个平台和操作系统创建 INF文件。

注意 由于可以在所有受支持的平台上使用相同的 .cat 文件,因此不需要也不建议使用此项。 但是,如果要为驱动程序包创建特定于平台的 .cat 文件,则必须使用此条目。

DriverVer= **mm/dd/yyyy,**w.x.y.z
此项指定此 INF 文件安装的驱动程序的版本信息。 从 Windows 2000 开始,需要此项。

若要了解如何指定此项,请参阅 INF DriverVer 指令

PnpLockDown=0 |1
指定是否即插即用 (PnP) 阻止应用程序直接修改驱动程序 的 INF 文件指定的文件。 如果 PnpLockDown 指令设置为 1,PnP 将阻止应用程序直接修改 INF CopyFiles 指令复制的文件。 否则,如果指令未包含在 INF 文件中,或者指令的值设置为零,则具有管理员权限的应用程序可以直接修改这些文件。 以这种方式进行保护的驱动程序文件称为 第三方受保护的驱动程序文件

为了确保 PnP 驱动程序安装的完整性,应用程序不应直接修改驱动程序包 INF 文件所复制的驱动程序文件。 应用程序应仅使用 Windows 提供的用于更新 PnP 驱动程序的设备安装机制。

从 Windows Vista 开始,驱动程序包应将 PnpLockDown 设置为1,以防止应用程序直接修改驱动程序文件。 但是,某些卸载驱动程序包的现有应用程序会直接删除驱动程序文件。 为了保持与这些应用程序的兼容性,此类驱动程序包的 PnpLockDown 指令应该设置为零。

注意 尽管 Windows Vista 和更高版本的 Windows 上的 PnP 不需要 INF 文件包含 PnpLockDown 指令即可安装驱动程序,但在将来版本的 windows 中,pnp 可能要求 pnp 驱动程序包 的 INF 文件包含 PnpLockDown 指令。

DriverPackageDisplayName =%驱动程序-包-说明%
已弃用。 之前,驱动程序安装框架使用 (DIFx) 。 有关 DIFx 弃用的信息,请参阅 DIFx 指导原则

DriverPackageType = PackageType
已弃用。 之前,驱动程序安装框架使用 (DIFx) 。 有关 DIFx 弃用的信息,请参阅 DIFx 指导原则

注解

驱动程序包 通过 Microsoft Windows 硬件质量实验室 (WHQL) 测试时,whql 会将 .cat 目录文件返回到 IHV 或 OEM。 每个 .cat 文件都包含驱动程序包的数字加密签名。 IHV 或 OEM 必须列出 INF 版本 部分中的这些 .cat 文件,并且必须在与 INF 文件相同的位置提供分发介质上的文件。 必须将 .cat 文件解压缩。

注意 如果 INF 版本 部分不包含至少一个 CatalogFileCatalogFilexxx 条目,则该驱动程序将被视为无符号,并且 Windows 不显示 DriverVer 指令中列出的日期。

有关详细信息,请参阅 驱动程序签名

示例

下面的示例演示了一个简单的设备驱动程序 INF 的 版本 部分,后跟此示例 版本 部分中指定的条目所隐含的必需的 SourceDisksNamesSourceDisksFiles部分:

[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%INF_Provider%
CatalogFile=aha154_ntx86.cat
DriverVer=01/29/2010

[SourceDisksNames]
;
; diskid = description[, [tagfile] [, <unused>, subdir]]
;
1 = %Floppy_Description%,,,\WinNT

[SourceDisksFiles.x86]
;
; filename_on_source = diskID[, [subdir][, size]]
;
aha154x.sys = 1,\x86

; ...

[Strings]
INF_Provider="Adaptec"
Floppy_Description = "Adaptec Drivers Disk"
; ...

另请参阅

DDInstall

SourceDisksNames

SourceDisksFiles

字符串