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