以下是修改 Windows Server 2003、Windows XP 和 Windows 2000 上的设备属性的 INF 文件条目值:
INF 文件条目值设置与 Windows Vista 和更高版本的 Windows 中系统定义的设备属性相对应的设备属性,这些属性是统一设备属性模型的一部分。
INF AddReg 指令 和 INF DelReg 指令 ,这些指令设置或删除系统定义的注册表项值,这些值对应于 Windows Vista 及更高版本中统一设备属性模型的一部分的系统定义设备属性。
INF AddReg 指令和 INF DelReg 指令,这些指令设置或删除与自定义设备属性对应的自定义注册表项值。
有关安装设备实例、 设备安装类、 设备接口类和设备接口的 INF 文件部分的一般信息,请参阅以下主题:
对应于 System-Defined 设备属性的 INF 文件条目值
某些 INF 文件中的条目值提供的信息被 Windows 用于设置系统定义的注册表项值, 这些值对应于设备实例属性和设备接口属性。 以下是由此类 INF 文件条目值提供的注册表项值的一些示例:
INF 文件的 INF 模型部分 包括 设备说明 条目值。 此值对应于统一设备属性模型中的DEVPKEY_Device_DeviceDesc属性。可以通过调用 CM_Get_DevNode_Registry_Property,并使用 CM_DRP_DEVICEDESC 的 ulProperty 参数,或通过调用 SetupDiGetDeviceRegistryProperty,并使用 属性参数 SPDRP_DEVICEDESC 来检索获取该值。
INF 类指令位于INF Version 节中,其中包含一个名为类名的条目值,该值提供一个设备安装类的名称。 此值对应于统一设备属性模型中 DEVPKEY_DeviceClass_ClassName 属性。 可以通过调用 SetupDiClassNameFromGuid 来检索设备安装程序类的类名称,并且可以通过使用 ulProperty 参数 CM_DRP_CLASS的 ulProperty 参数调用 CM_Get_DevNode_Registry_Property,或使用属性参数SPDRP_CLASS调用 SetupDiGetDeviceRegistryProperty 来检索设备实例的类名。
INF InterfaceInstall32 部分包含一个 InterfaceClassGuid 条目值,用于提供设备接口的 GUID。 此值对应于统一设备属性模型中 DEVPKEY_DeviceInterface_ClassGuid 属性。 可以通过调用 SetupDiEnumDeviceInterfaces 来获取设备接口的 GUID,该函数会检索与设备实例关联的设备接口的 SP_DEVICE_INTERFACE_DATA 结构。 SP_DEVICE_INTERFACE_DATA结构的 InterfaceClassGuid 成员标识接口类 GUID。
用于修改 System-Defined 设备属性的 INF AddReg 指令和 INF DelReg 指令
许多系统定义的设备属性都有相应的系统定义的注册表项值。 对于具有相应注册表项值的设备属性,使用 INF AddReg 指令 添加相应的注册表项值设置相应的设备属性。 同样,使用 INF DelReg 指令 删除相应的注册表项值,也会删除相应的设备属性。
例如,以下“Abc_Device_Install.HW”部分中的 INF AddReg 指令将设置设备实例的 DeviceCharacteristics 注册表项值:
[Abc_Device_Install.HW]
...
AddReg = Xxx_AddReg
...
[Xxx_AddReg]
...
[HKR,,DeviceCharacteristics,0x10001,0x00000001
]
DeviceCharacteristics 注册表项值对应于 Windows Vista 和更高版本的 Windows 中统一设备属性模型中DEVPKEY_Device_Characteristics属性。
用于修改自定义注册表项值的 INF AddReg 指令和 INF DelReg 指令
Windows 管理系统定义的注册表项值与系统定义的设备属性之间的对应关系。 但是,Windows 不会管理自定义注册表项值与自定义设备属性之间的对应关系。 INF AddReg 指令或修改自定义注册表项值的 INF DelReg 指令不会影响 Windows 管理的系统定义属性。
可以通过调用 SetupDiGetCustomDeviceProperty 来检索如以下示例所示设置的自定义设备实例属性。
[XxxDDInstall.HW]
...
AddReg = Xxx_AddReg
...
[Xxx_AddReg]
...
[HKR,,CustomPropertyName,0x10001,0x00000001
]
有关如何访问具有相应自定义注册表项值的自定义设备属性的详细信息,请参阅 访问自定义设备属性。