Método ITypeInfo::Invoke (oaidl.h)
Invoca um método ou acessa uma propriedade de um objeto que implementa a interface descrita pela descrição do tipo.
Sintaxe
HRESULT Invoke(
[in] PVOID pvInstance,
[in] MEMBERID memid,
[in] WORD wFlags,
[in, out] DISPPARAMS *pDispParams,
[out] VARIANT *pVarResult,
[out] EXCEPINFO *pExcepInfo,
[out] UINT *puArgErr
);
Parâmetros
[in] pvInstance
Uma instância da interface descrita por essa descrição de tipo.
[in] memid
O membro da interface.
[in] wFlags
Sinalizadores que descrevem o contexto da chamada invoke.
[in, out] pDispParams
Uma matriz de argumentos, uma matriz de DISPIDs para argumentos nomeados e contagens do número de elementos em cada matriz.
[out] pVarResult
O resultado. Deve ser nulo se o chamador não espera nenhum resultado. Se wFlags especificar DISPATCH_PROPERTYPUT ou DISPATCH_PROPERTYPUTREF, pVarResultis será ignorado.
[out] pExcepInfo
Uma estrutura de informações de exceção, que será preenchida somente se DISP_E_EXCEPTION for retornado. Se pExcepInfo for nulo na entrada, somente um erro HRESULT será retornado.
[out] puArgErr
Se Invoke retornar DISP_E_TYPEMISMATCH, puArgErr indicará o índice (dentro de rgvarg) do argumento com tipo incorreto. Se mais de um argumento retornar um erro, puArgErr indicará apenas o primeiro argumento com um erro. Os argumentos de pDispParams->rgvarg são exibidos na ordem inversa; portanto, o primeiro argumento é aquele com o maior índice na matriz. Esse parâmetro não pode ser nulo.
Retornar valor
Código de retorno | Descrição |
---|---|
|
Êxito. |
|
Um ou mais dos argumentos não são válidos. |
|
O membro que está sendo invocado retornou um erro HRESULT. Se o membro implementar IErrorInfo, os detalhes estarão disponíveis no objeto de erro. Caso contrário, o parâmetro pExcepInfo contém detalhes. |
Qualquer um dos erros IDispatch::Invoke também pode ser retornado.
Comentários
Use a função ITypeInfo::Invoke para acessar um membro de um objeto ou invocar um método que implementa a interface descrita por essa descrição de tipo. Para objetos que dão suporte à interface IDispatch , você pode usar Invoke para implementar IDispatch::Invoke.
ITypeInfo::Invoke usa um ponteiro para uma instância da classe . Caso contrário, seus parâmetros são os mesmos que IDispatch::Invoke, exceto que ITypeInfo::Invoke omite os parâmetros refiid e lcid . Quando chamado, ITypeInfo::Invoke executa as ações descritas pelos parâmetros IDispatch::Invoke na instância especificada.
Para membros da interface VTBL, ITypeInfo::Invoke passa o LCID das informações de tipo para parâmetros marcados com o atributo lcid e o valor retornado para o atributo retval.
Se a descrição do tipo herdar de outra descrição de tipo, essa função se repetirá na descrição do tipo base para localizar o item com a ID de membro solicitada.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | oaidl.h |