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_MEMORY、 WBEM_E_NOT_FOUNDなど) を示すために使用されます。
- メソッドからの戻り値 ( uint32 など) は、 メソッドから結果を返します。
注釈
WMI は、クライアントがクラスに対して IWbemServices::ExecMethod を呼び出すときに ExecMethod を呼び出します。 そのため、プロバイダーが 1 つ以上のメソッドをサポートしている場合は 、ExecMethod を実装する必要があります。 次の一覧では、 ExecMethod の一般的な実装について説明します。
- bstrMethodName パラメーターを調べることで、クライアントが呼び出すメソッドを決定します。
-
CInstance::GetCHString などの CInstance クラスの Get メソッドを使用して、pInParams パラメーターから入力パラメーターを取得します。
メソッドには、入力パラメーター、出力パラメーター、入力パラメーターと出力パラメーターの両方、または入力パラメーターまたは出力パラメーターがない場合があります。
-
CInstance::SetByte や CInstance::SetStringArray などの CInstance クラスの Set メソッドを使用して、pOutParams パラメーターに出力パラメーターを設定します。
戻り値の宣言で指定された [out] プロパティを宣言するだけでなく、 ReturnValue プロパティで定義されているように、 メソッドの戻り値も宣言する必要があります。 戻り値が void の場合は、戻り値を宣言する必要はありません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | provider.h (FwCommon.h を含む) |
Library | FrameDyn.lib |
[DLL] | FrameDynOS.dll;FrameDyn.dll |