COleDispatchDriver::InvokeHelper
The document is archived and information here might be outdated

COleDispatchDriver::InvokeHelper 

Calls the object method or property specified by dwDispID, in the context specified by wFlags.


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

Parameters

dwDispID

Identifies the method or property to be invoked.

wFlags

Flags describing the context of the call to IDispatch::Invoke. . For a list of possible values, see the wFlags parameter in IDispatch::Invoke in the Platform SDK.

vtRet

Specifies the type of the return value. For possible values, see the Remarks section.

pvRet

Address of the variable that will receive the property value or return value. It must match the type specified by vtRet.

pbParamInfo

Pointer to a null-terminated string of bytes specifying the types of the parameters following pbParamInfo.

...

Variable list of parameters, of types specified in pbParamInfo.

The pbParamInfo parameter specifies the types of the parameters passed to the method or property. The variable list of arguments is represented by ... in the syntax declaration.

Possible values for the vtRet argument are taken from the VARENUM enumeration. Possible values are as follows:

Symbol 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

The pbParamInfo argument is a space-separated list of VTS_ constants. One or more of these values, separated by spaces (not commas), specifies the function's parameter list. Possible values are listed with the EVENT_CUSTOM macro.

This function converts the parameters to VARIANTARG values, then invokes the IDispatch::Invoke method. If the call to Invoke fails, this function will throw an exception. If the SCODE (status code) returned by IDispatch::Invoke is DISP_E_EXCEPTION, this function throws a COleException object; otherwise it throws a COleDispatchException.

For more information, see VARIANTARG, Implementing the IDispatch Interface, IDispatch::Invoke, and Structure of COM Error Codes in the Platform SDK.

Show:
© 2016 Microsoft