實作屬性提供者的主要介面
屬性提供者會使用 IWbemPropertyProvider 方法作為 WMI 的主要介面。 使用 IWbemPropertyProvider,您可以實作程式碼來擷取和修改類別和實例屬性。
下表列出您可以為屬性提供者實作的 IWbemPropertyProvider 方法。
方法 | 功能 |
---|---|
GetProperty | 重建 |
PutProperty | 修改 |
注意
您必須實作屬性提供者做為同進程提供者。 WMI 會將寫入為服務或可執行檔的屬性提供者初始化,但永遠不會呼叫其 GetProperty 和 PutProperty 方法。
如果您選擇不支援其中一種方法,提供者可以提供傳回WBEM_E_PROVIDER_NOT_CAPABLE的存根實 作。
屬性提供者會透過一組三個限定詞來識別 Managed 類別或實例:PropertyCoNtext、InstanceCoNtext 和 ClassCoNtext。 WMI 會將描述這三個限定詞的字串常數傳遞至屬性提供者。
屬性提供者必須準備好處理下列類型的內容限定詞:
- InstanceCoNtext限定詞會附加至實例,並包含套用至實例中每個屬性的資訊。
- ClassCoNtext限定詞會附加至類別,並包含套用至類別中每個實例的資訊。 例如,在用來儲存登錄提供者所提供資料的類別中, ClassCoNtext 可以是包含要報告之屬性的登錄機碼路徑。
- PropertyCoNtext限定詞會指定與 屬性相關的內容特定資訊。 例如,在用來儲存登錄提供者所提供資料的類別中, PropertyCoNtext 會指定要由 屬性儲存的登錄值名稱。
這些限定詞可以一起運作。 您可以同時指定 InstanceCoNtext 和 PropertyCoNtext 值,告知提供者如何處理特定類型的實例。 例如,您可能想要將提供者辨識為可讀取的實例,但只有一個可寫入的屬性。
最常使用的限定詞是 PropertyCoNtext。 因此,WMI 會提供 DynProps 限定詞做為快捷方式。 WMI 會將標示 為 DynProps 的實例中的每個屬性,同時具有 Dynamic、 Provider和 PropertyCoNtext 限定詞。