Поделиться через


COleDispatchDriver::InvokeHelper

Вызывает метод или свойство объекта dwDispID, в контексте, определенном заданными wFlags.

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

Параметры

  • dwDispID
    Указывает метод или свойство, который необходимо вызвать.

  • wFlags
    Флаги, описывающий контекст вызова IDispatch::Invoke. . Список возможных значений см. в описании параметра wFlags в IDispatch::Invoke в Windows SDK.

  • vtRet
    Указывает тип возвращаемого значения. Для возможных значений см. в подразделе "Примечания".

  • pvRet
    Адрес переменной, которая будет принимать значения свойства или возвращаемого значения. Она должна соответствовать типу, указанному vtRet.

  • pbParamInfo
    Указатель на null- завершенной строке байтов, определяющий типы параметров после pbParamInfo.

  • ...
    Переменное число параметров типов, определенных в 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.

Дополнительные сведения см. в разделе VARIANTARG, Implementing the IDispatch Interface, IDispatch::Invoke и Структура кодов ошибок COM в Windows SDK.

Пример

См. пример для COleDispatchDriver::CreateDispatch.

Требования

Header: afxdisp.h

См. также

Ссылки

Класс COleDispatchDriver

Диаграмма иерархии

Класс COleException

Класс COleDispatchException