次の方法で共有


COleDispatchDriver::InvokeHelper

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 Method」の wFlags パラメーターを参照してください。

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

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

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

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

解説

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

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

記号

Return Type

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 Method メソッドを起動します。 Invoke の呼び出しに失敗すると、この関数は例外をスローします。 IDispatch::Invoke が返す SCODE (ステータス コード) が DISP_E_EXCEPTION のときは、COleException オブジェクトをスローします。それ以外の場合は COleDispatchException をスローします。

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

使用例

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

必要条件

**ヘッダー:**afxdisp.h

参照

参照

COleDispatchDriver クラス

階層図

COleException クラス

COleDispatchException クラス

その他の技術情報

COleDispatchDriver のメンバー