ITypeInfo::Invoke メソッド (oaidl.h)
型の説明により説明されるインターフェイスを実装しているオブジェクトについて、メソッドを呼び出したりプロパティにアクセスしたりします。
構文
HRESULT Invoke(
[in] PVOID pvInstance,
[in] MEMBERID memid,
[in] WORD wFlags,
[in, out] DISPPARAMS *pDispParams,
[out] VARIANT *pVarResult,
[out] EXCEPINFO *pExcepInfo,
[out] UINT *puArgErr
);
パラメーター
[in] pvInstance
この型の説明で説明されているインターフェイスのインスタンス。
[in] memid
インターフェイス メンバー。
[in] wFlags
呼び出しのコンテキストを記述するフラグ。
[in, out] pDispParams
引数の配列、名前付き引数の DISPID の配列、および各配列内の要素の数。
[out] pVarResult
結果。 呼び出し元が結果を期待しない場合は null にする必要があります。 wFlags でDISPATCH_PROPERTYPUTまたはDISPATCH_PROPERTYPUTREFが指定されている場合、pVarResultis は無視されます。
[out] pExcepInfo
例外情報構造体。DISP_E_EXCEPTIONが返された場合にのみ入力されます。 入力時に pExcepInfo が null の場合は、HRESULT エラーのみが返されます。
[out] puArgErr
Invoke がDISP_E_TYPEMISMATCHを返す場合、 puArgErr は引数のインデックス ( rgvarg 内) を正しくない型で示します。 複数の引数がエラーを返す場合、 puArgErr はエラーを含む最初の引数のみを示します。 pDispParams->rgvarg の引数は逆の順序で表示されます。そのため、最初の引数に配列で最も大きいインデックスが含まれます。 このパラメーターは null でもかまいません。
戻り値
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
1 つ以上の引数が無効です。 |
|
呼び出されているメンバーからエラー HRESULT が返されました。 メンバーが IErrorInfo を実装している場合は、エラー オブジェクトで詳細を使用できます。 それ以外の場合は、 pExcepInfo パラメーターに詳細が含まれます。 |
IDispatch::Invoke エラーのいずれかが返される場合もあります。
注釈
関数 ITypeInfo::Invoke を使用して、オブジェクトのメンバーにアクセスするか、この型の説明で記述されたインターフェイスを実装するメソッドを呼び出します。 IDispatch インターフェイスをサポートするオブジェクトの場合は、Invoke を使用して IDispatch::Invoke を実装できます。
ITypeInfo::Invoke は、 クラスのインスタンスへのポインターを受け取ります。 それ以外の場合、そのパラメーターは IDispatch::Invoke と同じですが、 ITypeInfo::Invoke では refiid パラメーターと lcid パラメーターが省略されます。 呼び出されると、 ITypeInfo::Invoke は、指定されたインスタンスに対して IDispatch::Invoke パラメーターによって記述されたアクションを実行します。
VTBL インターフェイス メンバーの場合、 ITypeInfo::Invoke は 型情報の LCID を lcid 属性でタグ付けされたパラメーターに渡し、戻り値を retval 属性に渡します。
型の説明が別の型の説明から継承されている場合、この関数は基本型の説明を繰り返して、要求されたメンバー ID を持つアイテムを検索します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | oaidl.h |