在 Windows XP 和更新版本的作業系統上,驅動程式可以透過 WMI 泛型屬性頁提供者公開其 WMI 類別。 提供者會使用每個類別宣告來建立類別屬性的簡單屬性頁。
屬性修飾符如何決定屬性頁面
WMI 泛型屬性頁提供者會使用適用於類別中每個屬性資料類型的控制項。 下列屬性限定詞會修改所使用的控制項類型:
寫入
具有 寫入 限定詞的屬性可以直接透過屬性頁面進行變更。 否則,屬性是唯讀的。
Values 和 ValuesMap
泛型屬性頁面提供者會使用清單方塊來代表可能的值。
範圍
泛型屬性頁提供者會驗證輸入的資料是否符合指定的範圍。
顯示名稱
泛型屬性頁面提供者會使用此屬性限定詞的值作為屬性的標籤。
十六進位顯示
如果存在,屬性值會以十六進位顯示。
驅動程式開發者應該本地化屬性中作為字串的限定詞。 如需詳細資訊,請參閱 當地語系化 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 檔案中 add-registry-section 的說明,請參閱 INF AddReg 指令。
Wmiprop.dll 假設每個類別只有一個實例。 每個類別都會由屬性表上的索引標籤表示。 使用 DisplayName 屬性限定詞來設定索引標籤的標題文字。只有在目前有類別的實例時,才會出現類別的屬性頁面。 因此,如果裝置被移除或未啟動,則不會出現頁面。