Share via


撰寫執行個體提供者

執行個體提供者會提供一或多個指定類別的實例。 例如,執行個體提供者可以提供 CPU 或其他硬體類型的相關資訊。 因為執行個體提供者所管理的物件通常會定期變更,所以所有執行個體提供者都會被視為提取提供者;也就是說,每當 WMI 提出資訊要求時,動態擷取 Managed 物件相關資訊的提供者。 名稱來自 WMI 代表用戶端要求從提供者「提取」資訊的概念。 使用提取技術,執行個體提供者可以支援擷取、列舉、修改、刪除和查詢處理特定實例。

高效能提供者可以提升執行個體提供者的效率,或以程式設計方式存取出現在系統監視器中的資料。 如需詳細資訊,請參閱 將執行個體提供者變成High-Performance提供者

下列程式描述如何撰寫執行個體提供者。

撰寫執行個體提供者

  1. 向 WMI 註冊您的提供者

    執行個體提供者會藉由建立 __Win32Provider 實例和 __InstanceProviderRegistration 類別,向 WMI 註冊。

  2. 初始化您的提供者

    WMI 會使用 IWbemProviderInit 來載入和初始化提供者。 這是所有提供者通用的工作。

    注意

    強烈建議執行個體提供者使用多執行緒模型 「Both」。

     

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

    IWbemServices介面是執行個體提供者的主要介面。

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

    設計提供者時,您很可能需要呼叫 WMI 介面。 如需詳細資訊,請參閱 呼叫 WMI

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

  5. 如有必要, 請實作高效能介面

    高效能介面會增加提供者可以回應 WMI 要求的速度。

  6. 如有必要, 請實作部分實例更新的支援

    如名稱所示,部分實例更新是只更新實例部分的技術。 如需從用戶端呼叫部分實例的詳細資訊,請參閱 更新實例的一部分擷取 WMI 實例的一部分

  7. 以您的新程式碼取代既有的提供者。

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