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