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