實例提供者會提供一或多個指定類別的實例。 例如,實例提供者可以提供CPU或其他硬體類型的相關信息。 由於實例提供者所管理的物件通常會定期變更,因此所有實例提供者都會被視為提取提供者;也就是說,每當 WMI 提出資訊要求時,動態擷取 Managed 物件相關信息的提供者。 此名稱的由來是來自於 WMI 為回應用戶端的要求,從提供者「提取」資訊的概念。 使用提取技術,實例提供者可以支援特定實例的擷取、列舉、修改、刪除和查詢處理。
高效能提供者可以提升實例提供者的效率,或以程式設計方式存取出現在系統監視器中的數據。 如需詳細資訊,請參閱 將實例提供者變成 High-Performance 提供者。
下列程序描述如何撰寫實例提供者。
若要寫入實例提供者
向 WMI註冊您的提供者。
實例提供者會藉由建立 __Win32Provider 實例和 __InstanceProviderRegistration 類別,向WMI 註冊。
-
WMI 使用 IWbemProviderInit 來載入和初始化提供者。 這是所有提供者通用的工作。
注意
強烈建議實例提供者使用多線程模型 「Both」。。
-
IWbemServices 介面是實例提供者的主要介面。
新增您服務提供者所需的任何其他程式碼。
在設計提供者時,您最可能需要調用 WMI 介面。 如需詳細資訊,請參閱 對 WMI 的呼叫。
擷取客戶端的資訊時,您可能需要存取該客戶端的安全性層級。 如需詳細資訊,請參閱 模擬用戶端。
如有必要,實作高效能介面。
高效能介面會提高提供者對WMI要求做出回應的速度。
如有必要,實作部分實例更新的支援。
顧名思義,部分實例更新是僅用來更新實例部分的技術。 如需從用戶端呼叫部分實例的詳細資訊,請參閱 更新實例的一部分 和 擷取 WMI 實例的一部分。
以新的程式碼取代預先存在的提供者。
如果您沒有預先存在的提供者可複製,則不需要執行此步驟。 如需詳細資訊,請參閱 更新提供者。