Share via


Provider::ExecMethod(constCInstance&,constBSTR,CInstance*,CInstance*,long) メソッド (provider.h)

[Provider クラスは WMI プロバイダー フレームワークの一部であり、現在最終的な状態と見なされています。これらのライブラリに影響を与える、セキュリティ関連以外の問題に対しては、それ以上の開発、機能強化、または更新プログラムは利用できません。 すべての新規開発には、MI API を使用する必要があります。]

ExecMethod メソッドは、クラスまたはインスタンスでメソッドを呼び出すために WMI によって呼び出されます。

構文

HRESULT ExecMethod(
  [ref] const CInstance & cInstance,
        const BSTR        bstrMethodName,
        CInstance         *pInParams,
        CInstance         *pOutParams,
        long              lFlags
);

パラメーター

[ref] cInstance

クライアントがインスタンス メソッドを呼び出した場合、問題のインスタンスの主要なプロパティ。 クライアントが静的メソッドを呼び出した場合、 Instance にはクラス オブジェクトが含まれます。

bstrMethodName

呼び出されるメソッドの名前。

pInParams

メソッド入力パラメーターへのポインター。

pOutParams

メソッド出力パラメーターへのポインター。

lFlags

execute メソッド操作に関する情報を含むフラグのビットマスク。 これは、 IWbemServices::ExecMethod メソッドでクライアントによって指定された値です。 lFlags パラメーターを使用するクライアントはほとんどありません。 ほとんどのプロバイダー実装では 、lFlags を 無視しても問題ありません。

次のフラグは、WMI によって処理 (およびフィルター処理) されます。

  • WBEM_FLAG_RETURN_IMMEDIATELY

戻り値

このメソッドの既定のフレームワーク プロバイダーの実装では、呼び出し元のメソッドに WBEM_E_PROVIDER_NOT_CAPABLE が返されます。 IWbemServices::ExecMethod メソッドは最も一般的な戻り値を一覧表示しますが、任意の COM リターン コードを返すことができます。

メソッドの戻り値は、次の 2 つの型のいずれかになります。

  • HRESULT は、WMI の種類のエラー ( WBEM_E_OUT_OF_MEMORYWBEM_E_NOT_FOUNDなど) を示すために使用されます。
  • メソッドからの戻り値 ( uint32 など) は、 メソッドから結果を返します。

注釈

WMI は、クライアントがクラスに対して IWbemServices::ExecMethod を呼び出すときに ExecMethod を呼び出します。 そのため、プロバイダーが 1 つ以上のメソッドをサポートしている場合は 、ExecMethod を実装する必要があります。 次の一覧では、 ExecMethod の一般的な実装について説明します。

  1. bstrMethodName パラメーターを調べることで、クライアントが呼び出すメソッドを決定します。
  2. CInstance::GetCHString などの CInstance クラスの Get メソッドを使用して、pInParams パラメーターから入力パラメーターを取得します。

    メソッドには、入力パラメーター、出力パラメーター、入力パラメーターと出力パラメーターの両方、または入力パラメーターまたは出力パラメーターがない場合があります。

  3. CInstance::SetByte や CInstance::SetStringArray などの CInstance クラスの Set メソッドを使用して、pOutParams パラメーターに出力パラメーターを設定します。

    戻り値の宣言で指定された [out] プロパティを宣言するだけでなく、 ReturnValue プロパティで定義されているように、 メソッドの戻り値も宣言する必要があります。 戻り値が void の場合は、戻り値を宣言する必要はありません。

詳細については、「 IWbemServices::ExecMethod」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー provider.h (FwCommon.h を含む)
Library FrameDyn.lib
[DLL] FrameDynOS.dll;FrameDyn.dll