共用方式為


實作屬性提供者的主要介面

屬性提供者會使用 IWbemPropertyProvider 方法作為 WMI 的主要介面。 使用 IWbemPropertyProvider,您可以實作程式代碼來擷取和修改類別和實例屬性。

下表列出您可以針對屬性提供者實作 IWbemPropertyProvider 方法。

方法 特徵
GetProperty 檢索
PutProperty 修改

 

注意

您必須將屬性提供者實作為同進程提供者。 WMI 會初始化寫入為服務或可執行文件的屬性提供者,但永遠不會呼叫其 GetPropertyPutProperty 方法。

 

如果您選擇不支援其中一種方法,您的提供者可以提供傳回 WBEM_E_PROVIDER_NOT_CAPABLE的存根實作。

屬性提供者會透過三個限定符集來識別 Managed 類別或實例:PropertyContextInstanceContextClassContext。 WMI 會將描述這三個限定符的字串常數傳入屬性提供者。

您的資源提供者必須準備好處理下列類型的上下文限定符:

  • InstanceContext 限定符會附加至實例,並包含套用至實例中每個屬性的資訊。
  • ClassContext 限定符會附加至類別,並包含套用至 類別中每個實例的資訊。 例如,在用來儲存登錄提供者所提供數據的類別中,ClassContext 可以是包含要報告之屬性的登錄機碼路徑。
  • PropertyContext 限定符指定屬性相關的特定內容資訊。 例如,在用來儲存登錄提供者所提供數據的類別中,PropertyContext 指定要由 屬性儲存之登錄值的名稱。

這些限定元可以一起運作。 您可以同時指定 InstanceContextPropertyContext 值,告訴提供者如何處理特定類型的實例。 例如,您可能想要將提供者可辨識的實例標記為可讀,但只有一個可寫的屬性。

最常使用的限定符是 PropertyContext。 因此,WMI 會提供 DynProps 限定符做為快捷方式。 WMI 會將標記有 DynProps 的實例中每個屬性,同時視為具有 動態提供者PropertyContext 的限定符。