在 Windows XP 和更高版本的操作系统上,驱动程序可以通过 WMI 泛型属性页提供程序公开其 WMI 类。 提供程序使用每个类声明为类属性创建一个简单的属性页。
如何通过属性限定符来确定属性页
WMI 泛型属性页提供程序使用适用于类中每个属性的数据类型的控件。 以下属性限定符修改所使用的控件类型:
写入
可以通过属性页更改具有 写入 限定符的属性。 否则,该属性为只读。
值 和 ValuesMap
泛型属性页提供程序使用列表框来表示可能的值。
范围
泛型属性页提供程序验证输入的数据是否符合指定的范围。
显示名称
泛型属性页提供程序使用此属性限定符的值作为属性的标签。
DisplayInHex
如果存在,则属性值以十六进制形式显示。
驱动程序编写器应本地化字符串的属性限定符。 有关详细信息,请参阅 本地化 MOF 文件 。
启用通用属性页提供程序
公开 Wmiprop.dll 要使用的类的每个设备都必须启用 Wmiprop.dll 作为共同安装程序。 为此,请在 add-registry-section 协同安装程序中添加以下内容:在 HKLM\System\CurrentControlSet\Control\CoDeviceInstallers 注册表键下为类 GUID 添加一个值项。 值项的值为“WmiProp.dll,WmiPropCoInstaller”。
例如:
; This section is defined in the Co-installer section, as follows.
; [Co-installer]
; AddReg = CoInstaller_AddReg
[CoInstaller_AddReg]
HKLM, System\CurrentControlSet\Control\CoDeviceInstallers, ClassGUID,
0x00010000, "WmiProp.dll, WmiPropCoInstaller"
ClassGUID 是 WMI 类的 GUID。 有关注册类共同安装程序的详细信息,请参阅注册类共同安装程序。
还必须指定要通过属性提供器公开的特定 WMI 类。 为此,请将 WmiConfigClasses 值条目设置为设备类或设备硬件实例的 add-registry-section 中 WMI 类的逗号分隔列表。
; the device class AddReg section.
[device_class_AddReg]
HKR,,"WmiConfigClasses",0x00000000,"class1,class2"
; the device hardware instance AddReg section.
[device_hw_inst_AddReg]
HKR,,"WmiConfigClasses",0x00000000,"class3"
有关 INF 文件中 添加注册表部分 的说明,请参阅 INF AddReg 指令。
Wmiprop.dll 只假定每个类的一个实例。 每个类由属性表上的选项卡表示。 使用 DisplayName 属性限定符设置选项卡的标题文本。仅当类当前存在类实例时,才会显示类的属性页。 因此,如果设备已删除或未启动,则不会显示页面。