メソッド プロバイダーの作成
メソッド プロバイダーを使用すると、WMI はクラスのメソッドにアクセスできます。 たとえば、アプリケーションを表すクラスには、アプリケーションを終了するメソッドがある場合があります。
既存のメソッド プロバイダーを更新するときにメソッドの入力と出力のパラメーターの順序を変更すると、そのメソッドを呼び出すアプリケーションが失敗する可能性があります。 入力または出力パラメーターの順序は、各パラメーターの ID 修飾子の値によって確立されます。 1 番目のパラメーターの ID 値は 0 です。 新しい入力パラメーターは、既に確立されたシーケンスに挿入するのではなく、既存のパラメーターの末尾に追加します。
次の手順では、メソッド プロバイダーを実装する方法について説明します。
メソッド プロバイダーを実装するには
クラス プロバイダーを設計して WMI に登録します。
クラス プロバイダーは、__Win32Provider インスタンスと __MethodProviderRegistration クラスを作成することで、WMI に登録します。 詳しくは、「メソッド プロバイダーの登録」をご覧ください。
IWbemProviderInit インターフェイスをプロバイダーに実装します。
注意
メソッド プロバイダーでは、マルチスレッド モデル "Both" を使うことを強くお勧めします。
プロバイダーに IWbemServices::ExecMethodAsync メソッドを実装します。
IWbemServices インターフェイスは、メソッド プロバイダーのプライマリ インターフェイスです。 詳細については、「メソッド プロバイダーのプライマリ インターフェイスの実装」を参照してください。
プロバイダーに必要なコードを追加します。
プロバイダーを設計するときは、ほとんどの場合、WMI インターフェイスを呼び出す必要があります。 詳細については、メソッドの呼び出しに関する記事と、「プロバイダーでのセキュリティ レベルの維持」を参照してください。
クライアントの情報を取得するときに、そのクライアントのセキュリティ レベルにアクセスすることが必要になる場合があります。 詳細については、「クライアントの偽装」を参照してください。
既存のプロバイダーを新しいコードに置き換えます。
コピーする既存のプロバイダーがない場合は、この手順を実行する必要はありません。 詳しくは、「プロバイダーの更新」を参照してください。