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