COleDispatchDriver::InvokeHelper
Chame o método do objeto ou propriedade especificada 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 invocado.wFlags
Sinalizadores que descrevem o contexto da telefonar para IDispatch:: Invoke..Para obter uma lista dos valores possíveis, consulte o wFlags parâmetro em IDispatch::Invoke no Windows SDK.vtRet
Especifica o tipo do valor retornado.Para obter os valores possíveis, consulte a seção comentários.pvRet
Endereço da variável que irá receber o valor da propriedade ou valor retornado.Deve corresponder ao tipo especificado por vtRet.pbParamInfo
Ponteiro para uma cadeia terminada com caractere nulo de bytes especificando os tipos dos parâmetros a seguir pbParamInfo....
Lista variável de parâmetros de tipos especificados em pbParamInfo.
Comentários
The pbParamInfo parâmetro especifica os tipos dos parâmetros passados para o método ou propriedade. A lista de argumentos variável é representada por ... na sintaxe de declaração.
Valores possíveis para o vtRet argumento são tiradas das VARENUM enumeração. Os valores possíveis são sistema autônomo segue:
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 |
The pbParamInfo argumento é uma lista separada por espaços de VTS_ constantes.Um ou mais desses valores, separados por espaços (não a vírgula), especifica a lista de parâmetros da função.Valores possíveis são listados com o EVENT_CUSTOM macro.
Essa função converte os parâmetros em VARIANTARG valores e, em seguida, chama o IDispatch::Invoke método. Se a telefonar para Invoke falhar, essa função lançará uma exceção. Se o SCODE (código de status) retornado por IDispatch:: Invoke is DISP_E_EXCEPTION, essa função lança um COleException objeto; caso contrário, ele lança um COleDispatchException.
Para obter mais informações, consulte VARIANTARG, Implementing the IDispatch Interface, IDispatch::Invoke, e Estrutura dos códigos de erro COM in the Windows SDK.
Exemplo
Consulte o exemplo para COleDispatchDriver::CreateDispatch.
Requisitos
Cabeçalho: afxdisp.h