次の方法で共有


インスタンス プロバイダーの記述

インスタンス プロバイダーは、1 つ以上の特定のクラスのインスタンスを提供します。 たとえば、インスタンス プロバイダーは、CPU やその他の種類のハードウェアに関する情報を提供できます。 インスタンス プロバイダーによって管理されるオブジェクトは定期的に変更される傾向があるため、すべてのインスタンス プロバイダーはプル プロバイダーと見なされます。つまり、WMI が情報の要求を行うたびに、マネージド オブジェクトに関する情報を動的に取得するプロバイダーです。 この名前は、WMI がクライアント要求の代わりにプロバイダーから情報を "プル" するという考え方に由来します。 プル テクノロジを使用すると、インスタンス プロバイダーは特定のインスタンスの取得、列挙、変更、削除、およびクエリ処理をサポートできます。

高パフォーマンス プロバイダーは、インスタンス プロバイダーの効率を高めたり、System Monitor に表示されるデータにプログラムでアクセスしたりできます。 詳細については、「インスタンス プロバイダーを High-Performance プロバイダー する」を参照してください。

次の手順では、インスタンス プロバイダーを記述する方法について説明します。

インスタンス プロバイダーを作成するには

  1. WMIにプロバイダーを登録します。

    インスタンス プロバイダーは、__Win32Provider インスタンスと __InstanceProviderRegistration クラスを作成して WMI に登録します。

  2. プロバイダーを初期化します。

    WMI では、IWbemProviderInit を使用してプロバイダーを読み込んで初期化します。 これは、すべてのプロバイダーに共通するタスクです。

    手記

    インスタンス プロバイダーは、マルチスレッド モデル "両方" を使用することを強くお勧めします。

     

  3. プロバイダーの IWbemServices インターフェイスを実装します。

    IWbemServices インターフェイスは、インスタンス プロバイダーのプライマリ インターフェイスです。

  4. プロバイダーに必要な追加のコードを追加します。

    プロバイダーを設計するときは、ほとんどの場合、WMI インターフェイスを呼び出す必要があります。 詳細については、「WMIへの呼び出しを行う」を参照してください。

    クライアントの情報を取得するときに、そのクライアントのセキュリティ レベルにアクセスすることが必要になる場合があります。 詳細については、「クライアントの偽装」を参照してください。

  5. 必要に応じて、高性能インターフェイスを実装します。

    ハイ パフォーマンス インターフェイスにより、プロバイダーが WMI からの要求に対応できる速度が向上します。

  6. 必要に応じて、部分インスタンス更新のサポートを実装します。

    名前が示すように、部分インスタンス更新は、インスタンスの一部のみを更新するために使用される手法です。 クライアントから部分的なインスタンスを呼び出す方法の詳細については、「インスタンス の一部を更新する」および「WMI インスタンスの一部を取得する」を参照してください。

  7. 既存のプロバイダーを新しいコードに置き換えます。

    コピーする既存のプロバイダーがない場合は、この手順を実行する必要はありません。 詳細については、「プロバイダーの更新」を参照してください。