INF DelProperty 指令
注意
如果正在生成通用或 Windows 驱动程序包,则本指令无效。 请参阅使用通用 INF 文件和 Windows 驱动程序开发入门。
DelProperty 指令引用一个或多个 INF 文件部分,这些部分用于删除设备实例、设备安装程序类、设备接口类或设备接口的设备属性。
[DDInstall] |
[DDInstall.CoInstallers] |
[ClassInstall32] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] | (Windows 10 version 1709 and later versions of Windows)
[interface-install-section] |
[interface-install-section.nt] |
[interface-install-section.ntx86] |
[interface-install-section.ntia64] | (Windows XP and later versions of Windows)
[interface-install-section.ntamd64] | (Windows XP and later versions of Windows)
[interface-install-section.ntarm] | (Windows 8 and later versions of Windows)
[interface-install-section.ntarm64] | (Windows 10 version 1709 and later versions of Windows)
[add-interface-section]
DelProperty=del-property-section[,del-property-section]... (Windows Vista and later versions of Windows)
DelProperty 指令可以在上述正式语法说明中的任何部分下指定。
由 DelProperty 指令引用的 del-property-section 的格式如下:
[del-property-section]
(property-name [ ,, flags [, value]]) | ({property-category-guid}, property-pid [ , flags [, value]])
(property-name [ ,, flags [, value]]) | ({property-category-guid}, property-pid [ , flags [, value]])
...
一个 del-property-section 可以包含任意数量的 property-name 条目或 property-guid 条目,每个条目单独成行。
条目
property-name
表示设备实例驱动程序包属性的属性名称之一。 支持的属性名称与 INF AddProperty 指令的 property-name 条目中描述的名称相同。
property-category-guid
标识属性类别的 GUID 值。 GUID 值可以是系统定义的 GUID(用于标识系统定义的属性类别),也可以是自定义 GUID(用于标识自定义属性类别)。 支持的 GUID 值与 INF AddProperty 指令的 property-category-guid 条目中描述的值相同。
property-pid
一个属性标识符,用于指明 property-category-guid 值所指属性类别中的特定属性。 由于系统内部原因,属性标识符必须大于或等于 2。
flags
一个可选的十六进制标志值,用于控制删除操作。 唯一支持的标志值如下:
0x00000001 (FLG_DELPROPERTY_MULTI_SZ_DELSTRING)
如果属性数据类型为 DEVPROP_TYPE_STRING_LIST,则该操作会删除现有字符串列表中与值输入值提供的字符串相匹配的所有字符串。 在比较提供的字符串和字符串列表中的现有字符串时,不考虑字符的大小写。
value
如果属性数据类型为 DEVPROP_TYPE_STRING_LIST,且标志条目为 0x00000001,则 value 条目值将提供字符串,用于删除操作将使用该字符串在现有字符串列表中搜索匹配字符串,如果找到匹配字符串,删除操作将从现有字符串列表中删除匹配字符串。
注解
一般来说,INF 文件不应被用来删除可能由系统组件或其他 INF 文件设置的设备属性。 DelProperty 指令的主要用途是在 INF 文件中使用,该文件更新了以前的设备安装,并且不再需要为以前的设备安装设置的属性。
在一个 INF 文件中,del-property-section 名称必须是唯一的,但在同一个 INF 文件中,可以有多个 DelProperty 指令引用该部分名称。 部分名称必须遵循 INF 文件常规语法规则中描述的定义部分名称的一般规则。
有关如何使用 DelProperty 指令的详细信息,请参阅使用 INF AddProperty 指令和 INF DelProperty 指令。
示例
下面的删除属性部分示例包括两行条目:第一行条目包括删除 DeviceModel 属性的 property-name 条目值,第二行条目删除数据类型为 DEVPROP_TYPE_STRING_LIST 的自定义设备属性值中的字符串“DeleteThisString”。 在第二行中,property-category-guid 条目值为“c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e”,property-identifier 条目值为“2”,而 flags 条目值为“0x00000001”。
[SampleDelPropertySection]
DeviceModel
{c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e}, 2, 0x00000001, "DeleteThisString"