撰寫類別提供者
類別提供者會管理 WMI 的類別或類別系列。 類別提供者可以是推送或提取;也就是說,它可以儲存自己的資料,或允許 WMI 將資料儲存在 Windows Management Service 中。 雖然類別提供者安裝在特定電腦上,但它可以變更整個企業的類別定義。 因此,大部分開發人員通常不會建立類別提供者。
在建構類別提供者之前,請先確認支援的類別確實必須動態產生。 在大部分情況下,類別清單會變慢且有限。 如果是這種情況,您就不需要建立類別提供者。 相反地,您可以使用 WMI API 或 MOF 檔案,將類別定義放在 WMI 存放庫中。
下列程式描述如何實作類別提供者。
實作類別提供者
判斷您的提供者是否為推送或提取提供者。
提取提供者會動態提供資料以回應應用程式要求,而推送提供者則會將資料儲存在 WMI 存放庫中一次。 如需詳細資訊,請參閱 判斷推送或提取狀態。
使用 WMI 設計和註冊您的類別提供者。
類別提供者會藉由建立 __Win32Provider 實例和 __ClassProviderRegistration 實例,向 WMI 註冊。 如需詳細資訊,請參閱 註冊類別提供者。
為您的提供者實作 IWbemProviderInit 介面。
WMI 使用 IWbemProviderInit 載入和初始化提供者。 如果您要設計推送提供者, IWbemProviderInit 是您將實作的唯一介面。 如需詳細資訊,請參閱 初始化提供者。
注意
強烈建議使用多執行緒模型 「Both」。
新增提供者所需的任何其他程式碼。
設計提供者時,您很可能需要呼叫 WMI 介面。 如需詳細資訊,請參閱 呼叫方法 及 維護提供者中的安全性層級。
擷取用戶端的資訊時,您可能需要存取該用戶端的安全性層級。 如需詳細資訊,請參閱 模擬用戶端。
為您的提供者實作 IWbemServices 介面。
IWbemServices介面是提取類別提供者的主要介面。 如需詳細資訊,請參閱 實作類別提供者的主要介面。
以新的程式碼取代預先存在的提供者。
如果您沒有預先存在的提供者可複製,則不需要執行此步驟。 如需詳細資訊,請參閱 更新提供者。