メソッド プロバイダーの作成

メソッド プロバイダーを使用すると、WMI はクラスのメソッドにアクセスできます。 たとえば、アプリケーションを表すクラスには、アプリケーションを終了するメソッドがある場合があります。

既存のメソッド プロバイダーを更新するときにメソッドの入力と出力のパラメーターの順序を変更すると、そのメソッドを呼び出すアプリケーションが失敗する可能性があります。 入力または出力パラメーターの順序は、各パラメーターの ID 修飾子の値によって確立されます。 1 番目のパラメーターの ID 値は 0 です。 新しい入力パラメーターは、既に確立されたシーケンスに挿入するのではなく、既存のパラメーターの末尾に追加します。

次の手順では、メソッド プロバイダーを実装する方法について説明します。

メソッド プロバイダーを実装するには

  1. クラス プロバイダーを設計して WMI に登録します。

    クラス プロバイダーは、__Win32Provider インスタンスと __MethodProviderRegistration クラスを作成することで、WMI に登録します。 詳しくは、「メソッド プロバイダーの登録」をご覧ください。

  2. IWbemProviderInit インターフェイスをプロバイダーに実装します。

    注意

    メソッド プロバイダーでは、マルチスレッド モデル "Both" を使うことを強くお勧めします。

     

  3. プロバイダーに IWbemServices::ExecMethodAsync メソッドを実装します。

    IWbemServices インターフェイスは、メソッド プロバイダーのプライマリ インターフェイスです。 詳細については、「メソッド プロバイダーのプライマリ インターフェイスの実装」を参照してください。

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

    プロバイダーを設計するときは、ほとんどの場合、WMI インターフェイスを呼び出す必要があります。 詳細については、メソッドの呼び出しに関する記事と、「プロバイダーでのセキュリティ レベルの維持」を参照してください。

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

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

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