在 Windows Vista 之前修改设备属性的 INF 文件条目值
下面是修改 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_DRP_DEVICEDESC ulProperty 参数的CM_Get_DevNode_Registry_Property或调用 SetupDiGetDeviceRegistryProperty(属性参数为 SPDRP_DEVICEDESC)来检索此值。
INF 版本部分的 INFClass 指令包括提供设备安装类的名称的类名条目值。 此值对应于统一设备属性模型中 的 DEVPKEY_DeviceClass_ClassName 属性。 可以通过调用 SetupDiClassNameFromGuid 来检索设备安装类的类名,而设备实例的类名可以通过调用具有 CM_DRP_CLASS ulProperty 参数的 CM_Get_DevNode_Registry_Property 或通过调用 SetupDiGetDeviceRegistryProperty(Property 参数为 SPDRP_CLASS)来检索设备实例的类名。
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
]
有关如何访问具有相应自定义注册表项值的自定义设备属性的详细信息,请参阅 访问自定义设备属性。