COleDispatchDriver::InvokeHelper
wFlagsで指定されたコンテキストで dwDispIDで指定されているオブジェクトのメソッドまたはプロパティを呼び出します。
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_ の定数のスペース区切りのリストです。これらの値の一つ以上は、空白 (コンマでなく) で区切って、関数のパラメーター リストを指定します。指定できる値は EVENT_CUSTOM のマクロに示します。
この関数は VARIANTARG のパラメーターを値に変換し、IDispatch::Invoke のメソッドを呼び出します。Invoke の呼び出しが失敗した場合は、例外をスローします。SCODE (ステータス コード) が IDispatch::Invoke によって DISP_E_EXCEPTIONの場合、この関数は COleException オブジェクトの返される; それ以外の場合は COleDispatchExceptionをスローします。
詳細については、Windows SDKの VARIANTARG、Implementing the IDispatch Interface、IDispatch::Invokeと COM エラー コードの構造 を参照してください。
使用例
COleDispatchDriver::CreateDispatchの例を参照してください。
必要条件
ヘッダー : afxdisp.h