WMI 通用属性页提供程序
在 Windows XP 和更高版本的操作系统上,驱动程序可以通过 WMI 泛型属性页提供程序公开其 WMI 类。 提供程序使用每个类声明为类属性创建一个简单的属性页。
属性限定符如何确定属性页
WMI 泛型属性页提供程序使用适用于 类中每个属性的数据类型的控件。 以下属性限定符修改使用的控件类型:
写入
可以通过属性页更改具有 写入 限定符的属性。 否则, 属性为只读。
值 和 值映射
泛型属性页提供程序使用列表框来表示可能的值。
范围
泛型属性页提供程序验证输入的数据是否符合指定范围。
DisplayName
泛型属性页提供程序使用此属性限定符的值作为属性的标签。
DisplayInHex
如果存在,则属性值以十六进制显示。
驱动程序编写器应本地化字符串的属性限定符。 有关详细信息 ,请参阅本地化 MOF 文件 。
启用泛型属性页提供程序
公开供Wmiprop.dll使用的类的每个设备都必须启用Wmiprop.dll作为共同安装程序。 为此,请对共同安装程序 add-registry-节进行以下添加:为 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-节 中 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 文件中 add-registry-section 的说明,请参阅 INF AddReg 指令。
Wmiprop.dll假定每个类只有一个实例。 每个类都由属性表上的选项卡表示。 使用 DisplayName 属性限定符可设置选项卡的标题文本。仅当当前存在类的实例时,才会显示类的属性页。 因此,如果设备被删除或未启动,则不会显示页面。