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