INF DDInstall.HW 部分

DDInstallHW 部分通常用于安装多功能设备、安装 PnP 筛选器驱动程序,以及设置注册表中任何用户可访问的设备特定但与驱动程序无关的信息,无论是使用显式 AddReg 指令还是 包含 IncludeNeeds 条目。

[install-section-name.HW] |
[install-section-name.nt.HW] |
[install-section-name.ntx86.HW] |
[install-section-name.ntia64.HW] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64.HW] | (Windows XP and later versions of Windows)
[install-section-name.ntarm.HW] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64.HW] (Windows 10 version 1709 and later versions of Windows)
 
[AddReg=add-registry-section[,add-registry-section]...] ...
[Include=filename.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[DelReg=del-registry-section[,del-registry-section]...] ...
[BitReg=bit-registry-section[,bit-registry-section] ...] 

并非所有有效的条目在 通用 INF 中都受支持。 下面列出了哪些指令在通用 INF 中有效,哪些指令无效。

在通用 INF 中受支持

AddReg=add-registry-section[,add-registry-section]...
引用此 DDInstall 所涵盖设备的 INF 文件中的其他位置的一个或多个 INF 编写器定义的 add-registry-sectionsHW 部分。 add-registry-section 通常会在注册表中安装筛选器和/或存储每个设备的信息。 此类 add-registry-section 中的 HKR 规范指定设备的硬件密钥,这是一个特定于设备的注册表子项,其中包含有关设备的信息。 硬件密钥也称为设备密钥。 有关详细信息,请参阅 设备和驱动程序的注册表树和密钥。 驱动程序包可以使用 DDInstall.HW 节引用的 add-registry-section 中的 HKR 规范,通过 INF 添加设置。

有关详细信息,请参阅 INF AddReg 指令

Include=filenameinf[,filename2.inf]...
指定一个或多个系统提供的其他 INF 文件,其中包含安装此设备所需的部分。 如果指定了此项,则通常也是 “需要 ”条目。

Needs=inf-section-name[,inf-section-name]...
指定在安装此设备期间必须处理的命名节。 通常,此类命名节为 DDInstall。系统提供的 INF 文件中的“包含”条目中列出的 HW 节。 但是,它可以是此类 DDInstall 中引用的任何部分。包含的 INF 的 HW 部分。

在通用 INF 中不受支持

DelReg=del-registry-section[,del-registry-section]...
引用 INF 文件中其他位置的一个或多个 INF 编写器定义的 delete-registry-section,用于此 DDInstall 节所涵盖设备的驱动程序。 此类 delete-registry 节从目标计算机中删除以前安装的设备/驱动程序的过时注册表信息。 此类 delete-registry 节中的 HKR 规范指定与 AddReg 相同的子项。

此指令很少使用,除非在 INF 文件中,该文件升级以前安装的相同设备/型号,这些设备/型号在定义了此 DDInstall 节的名称的“按制造商各型号”部分中列出的相同。 有关详细信息,请参阅 INF DelReg 指令

BitReg=bit-registry-section[,bit-registry-section] ...
在本部分中有效,但几乎从未使用过。 引用的位注册表部分中的 HKR 规范指定与 AddReg 相同的子项。 有关详细信息,请参阅 INF BitReg 指令

注解

正式语法语句中显示的 install-section-name 不区分大小写的扩展可以插入到此类 DDInstall 中。跨平台 INF 文件中的 HW 节名称。 有关如何使用系统定义的 .nt.ntx86.ntia64.ntamd64.ntarm.ntarm64 扩展的详细信息,请参阅 为多个平台和操作系统创建 INF 文件

任何 DDInstallHW 部分必须具有以下项之一:

  • AddReg 指令。
  • 指定另一个 INF 文件的 Include 条目。 在本例中为 DDInstallHW 节还必须包含相应的 “需要 ”条目,该条目指定另一个 INF 文件中的节。 本部分用于设置必要的注册表信息。

DDInstall 中的每个指令。HW 节可以引用多个 INF 编写器定义的节。 但是,必须用逗号 (,) 分隔每个附加的命名节与下一节。

每个此类节名称在 INF 文件中必须唯一,并且必须遵循定义节名称的一般规则。 有关这些规则的详细信息,请参阅 INF 文件的一般语法规则

有关如何安装多功能设备的详细信息,请参阅 支持多功能设备

示例

此示例演示驱动程序包如何使用 DDInstallHW 部分和 DDInstall用于 添加函数驱动程序和 PnP 上层筛选器驱动程序的服务部分。

[Example_DDInstall]
CopyFiles=example_copyfiles

[Example_DDInstall.HW]
AddReg=filter_addreg

[filter_addreg]
HKR,,"UpperFilters",0x00010000,"ExampleUpperFilter" ; [REG_MULTI_SZ](https://learn.microsoft.com/windows/desktop/SysInfo/registry-value-types) value 

[Example_DDInstall.Services]
AddService=ExampleFunctionDriver,0x00000002,function_ServiceInstallSection
AddService=ExampleUpperFilter,,filter_ServiceInstallSection

[function_ServiceInstallSection]
DisplayName    = %function_ServiceDesc%
ServiceType    = 1
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %13%\ExampleFunctionDriver.sys

[filter_ServiceInstallSection]
DisplayName    = %filter_ServiceDesc%
ServiceType    = 1
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %13%\ExampleUpperFilter.sys

另请参阅

AddReg

BitReg

DDInstall

DDInstall.Services

DelReg