Compartilhar via


COleDispatchDriver::InvokeHelper

Chama o método ou propriedade do objeto especificado por dwDispID, no contexto especificado por wFlags.

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

Parâmetros

  • dwDispID
    Identifica o método ou propriedade a ser chamados.

  • wFlags
    Sinalizadores que descrevem o contexto de chamada para IDispatch::Invoke. . Para obter uma lista de valores possíveis, consulte o parâmetro de wFlags em IDispatch::Invoke em Windows SDK.

  • vtRet
    Especifica o tipo do valor de retorno. Para valores possíveis, consulte a seção comentários.

  • pvRet
    Endereço de variável que receberá o valor da propriedade ou o valor de retorno. Deve corresponder ao tipo especificado por vtRet.

  • pbParamInfo
    Ponteiro para uma cadeia de caracteres NULL- finalizada de bytes que especifica os tipos de parâmetro depois de pbParamInfo.

  • ...
    Variável lista de parâmetros de tipos, especificados em pbParamInfo.

Comentários

O parâmetro de pbParamInfo especifica os tipos dos parâmetros passados para o método ou propriedade. A lista de argumentos variável é representada por ... na declaração de sintaxe.

Os valores possíveis para o argumento de vtRet são tirados de enumeração de VARENUM . Os valores possíveis são:

Símbolo

Tipo de retorno

VT_EMPTY

void

VT_I2

short

VT_I4

long

VT_R4

float

VT_R8

double

VT_CY

CY

VT_DATE

DATA

VT_BSTR

BSTR

VT_DISPATCH

LPDISPATCH

VT_ERROR

SCODE

VT_BOOL

BOOL

VT_VARIANT

VARIANTE

VT_UNKNOWN

LPUNKNOWN

O argumento de pbParamInfo é uma lista separada espaço- de constantes VTS_ . Um ou mais de esses valores, separados por espaços (não vírgulas), especifique a lista de parâmetros da função. Os valores possíveis são listados com a macro de EVENT_CUSTOM .

Essa função converte os parâmetros para valores de VARIANTARG , então chama o método de IDispatch::Invoke . Se a chamada a Invoke falhar, essa função irá acionar uma exceção. Se SCODE (código de status) retornado por IDispatch::Invoke é DISP_E_EXCEPTION, gera de essa função um objeto de COleException ; se não lança COleDispatchException.

Para obter mais informações, consulte VARIANTARG, Implementing the IDispatch Interface, IDispatch::Invoke, e Estrutura de códigos de erro COM em Windows SDK.

Exemplo

Consulte o exemplo para COleDispatchDriver::CreateDispatch.

Requisitos

Cabeçalho: afxdisp.h

Consulte também

Referência

Classe COleDispatchDriver

Gráfico da hierarquia

Classe COleException

Classe COleDispatchException