Partilhar 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 de COleDispatchDriver

Gráfico de hierarquia

Classe de COleException

Classe de COleDispatchException