共用方式為


撰寫類別提供者

類別提供者會管理 WMI 的類別或類別系列。 類別提供者可以是推送或提取;也就是說,它可以儲存自己的資料,或允許 WMI 將資料儲存在 Windows Management Service 中。 雖然類別提供者安裝在特定電腦上,但它可以變更整個企業的類別定義。 因此,大部分開發人員通常不會建立類別提供者。

在建構類別提供者之前,請先確認支援的類別確實必須動態產生。 在大部分情況下,類別清單會變慢且有限。 如果是這種情況,您就不需要建立類別提供者。 相反地,您可以使用 WMI API 或 MOF 檔案,將類別定義放在 WMI 存放庫中。

下列程式描述如何實作類別提供者。

實作類別提供者

  1. 判斷您的提供者是否為推送或提取提供者。

    提取提供者會動態提供資料以回應應用程式要求,而推送提供者則會將資料儲存在 WMI 存放庫中一次。 如需詳細資訊,請參閱 判斷推送或提取狀態

  2. 使用 WMI 設計和註冊您的類別提供者。

    類別提供者會藉由建立 __Win32Provider 實例和 __ClassProviderRegistration 實例,向 WMI 註冊。 如需詳細資訊,請參閱 註冊類別提供者

  3. 為您的提供者實作 IWbemProviderInit 介面。

    WMI 使用 IWbemProviderInit 載入和初始化提供者。 如果您要設計推送提供者, IWbemProviderInit 是您將實作的唯一介面。 如需詳細資訊,請參閱 初始化提供者

    注意

    強烈建議使用多執行緒模型 「Both」。

     

  4. 新增提供者所需的任何其他程式碼。

    設計提供者時,您很可能需要呼叫 WMI 介面。 如需詳細資訊,請參閱 呼叫方法維護提供者中的安全性層級

    擷取用戶端的資訊時,您可能需要存取該用戶端的安全性層級。 如需詳細資訊,請參閱 模擬用戶端

  5. 為您的提供者實作 IWbemServices 介面。

    IWbemServices介面是提取類別提供者的主要介面。 如需詳細資訊,請參閱 實作類別提供者的主要介面

  6. 以新的程式碼取代預先存在的提供者。

    如果您沒有預先存在的提供者可複製,則不需要執行此步驟。 如需詳細資訊,請參閱 更新提供者