WMI 通用属性页提供程序

在 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 属性限定符设置选项卡的标题文本。仅当类当前存在类实例时,才会显示类的属性页。 因此,如果设备已删除或未启动,则不会显示页面。