次の方法で共有


COleDispatchDriver::InvokeHelper

更新 : 2007 年 11 月

dwDispID で指定したオブジェクトのメソッドまたはプロパティを、wFlags で指定したコンテキストで呼び出します。

void AFX_CDECL InvokeHelper(
   DISPID dwDispID,
   WORD wFlags,
   VARTYPE vtRet,
   void* pvRet,
   const BYTE* pbParamInfo,
      ... 
);

パラメータ

  • dwDispID
    呼び出されるメソッドまたはプロパティを識別します。

  • wFlags
    IDispatch::Invoke の呼び出しのコンテキストを示すフラグ。. 有効な値の一覧については、Windows SDK の「IDispatch::Invoke」の wFlags パラメータを参照してください。

  • vtRet
    戻り値の型を指定します。有効な値については、「解説」を参照してください。

  • pvRet
    戻り値、またはプロパティ値を受け取る変数のアドレス。この変数の型は、vtRet で指定された型と一致している必要があります。

  • pbParamInfo
    pbParamInfo に続くパラメータの型を指定するバイト列の NULL で終わる文字列へのポインタ。

  • ...
    パラメータの可変リスト。それぞれの型は pbParamInfo で指定されます。

解説

パラメータ pbParamInfo には、メソッドまたはプロパティに渡されるパラメータの型を指定します。引数リストは構文の ... で表されます。

引数 vtRet に指定できる値は、列挙子 VARENUM から取得します。次の値を指定できます。

記号

戻り値の型

VT_EMPTY

void

VT_I2

short

VT_I4

long

VT_R4

float

VT_R8

double

VT_CY

CY

VT_DATE

DATE

VT_BSTR

BSTR

VT_DISPATCH

LPDISPATCH

VT_ERROR

SCODE

VT_BOOL

BOOL

VT_VARIANT

VARIANT

VT_UNKNOWN

LPUNKNOWN

引数 pbParamInfo は、スペースで区切られた VTS_ 定数の並びです。コンマではなく空白で区切られた 1 つ以上の値は、関数のパラメータ リストを示します。指定できる値については、「EVENT_CUSTOM」マクロの一覧を参照してください。

この関数は、パラメータを VARIANTARG 値に変換した後、IDispatch::Invoke メソッドを起動します。Invoke の呼び出しに失敗すると、この関数は例外をスローします。IDispatch::Invoke が返す SCODE (ステータス コード) が DISP_E_EXCEPTION のときは、COleException オブジェクトをスローします。それ以外の場合は COleDispatchException をスローします。

詳細については、Windows SDK の「VARIANTARG」、「Implementing the IDispatch Interface」、「IDispatch::Invoke」、および「Structure of COM Error Codes」を参照してください。

使用例

COleDispatchDriver::CreateDispatch」の例を参照してください。

必要条件

ヘッダー : afxdisp.h

参照

参照

COleDispatchDriver クラス

階層図

COleException クラス

COleDispatchException クラス

その他の技術情報

COleDispatchDriver のメンバ