次の方法で共有


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

呼び出しのコンテキストを記述するフラグ。

意味
DISPATCH_METHOD
メンバーは メソッドとしてアクセスされます。 あいまいな場合は、このフラグと DISPATCH_PROPERTYGET フラグの両方を設定できます。
DISPATCH_PROPERTYGET
メンバーは、プロパティまたはデータ メンバーとして取得されます。
DISPATCH_PROPERTYPUT
メンバーは、プロパティまたはデータ メンバーとして変更されます。
DISPATCH_PROPERTYPUTREF
メンバーは、値の割り当てではなく、参照割り当てを使用して変更されます。 このフラグは、 プロパティがオブジェクトへの参照を受け入れる場合にのみ有効です。

[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 でもかまいません。

戻り値

リターン コード 説明
S_ok
正常終了しました。
E_INVALIDARG
1 つ以上の引数が無効です。
DISP_E_EXCEPTION
呼び出されているメンバーからエラー 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

こちらもご覧ください

Itypeinfo