ITypeInfo::Invoke
9/8/2008
Este método chama um método ou acessa uma propriedade de um objeto que implementa a interface indicada por descrição de tipo.
Syntax
HRESULT Invoke(
VOID FAR* pvInstance,
MEMBERID memid,
unsigned short wFlags,
DISPPARAMS FAR* pDispParams,
VARIANT FAR* pVarResult,
EXCEPINFO FAR* pExcepInfo,
unsigned int FAR* puArgErr
);
Parameters
- pvInstance
[no] Ponteiro para uma instância da interface descrito por esta descrição tipo.
- memid
[no] Identificador do membro de interface.
wFlags
[no] Os sinalizadores que descrevem o contexto do chamar Invoke. Ele é um do seguinte valores.Valor Descrição DISPATCH_METHOD
O membro é acessado como um método. Se não houver ambigüidade, tanto isso e o sinalizador DISPATCH_PROPERTYGET pode ser definidas.
DISPATCH_PROPERTYGET
O membro é recuperado como um membro propriedade ou dados.
DISPATCH_PROPERTYPUT
O membro é alterado como um membro propriedade ou dados.
DISPATCH_PROPERTYPUTREF
O membro é alterado usando uma atribuída de referência, em vez atribuída uma valor. Esse valor é válido somente quando a propriedade aceita uma referência a um objeto.
- pDispParams
[in, Out] Ponteiro para uma estrutura que contém uma matriz de parâmetros, uma matriz de DISPIDs para nomeado parâmetros e contagens do número de elementos em cada matriz.
- pVarResult
[out] Deve ser NULL se o chamador não espera qualquer resultado. Caso contrário, ele deve ser um ponteiro para a localidade em que o resultado deve ser armazenado. Se wFlags Especifica DISPATCH_PROPERTYPUT ou DISPATCH_PROPERTYPUTREF, pVarResult é ignorado.
- pExcepInfo
[out] Ponteiro para uma estrutura informações exceção, que é preenchida somente se DISP_E_EXCEPTION é retornado. Se pExcepInfo é NULL na entrada, será retornado apenas um erro HRESULT.
puArgErr
[out] Se ITypeInfo::Invoke Retorna DISP_E_TYPEMISMATCH, puArgErr Indica o índice (dentro rgvarg) do parâmetro com tipo incorreto.Se mais de um parâmetro retornará um erro, puArgErr Indica somente o primeiro parâmetro com um erro.
Argumentos em pDispParams->rgvarg aparecem na ordem inversa, portanto, o primeiro parâmetro é aquele tendo o índice mais alto na matriz. Não pode ser NULL.
Return Value
A seguinte tabela mostra os valores de retorno para esta função.
Valor | Descrição |
---|---|
S_OK |
O sucesso. |
E_INVALIDARG |
Um ou mais dos parâmetros é inválido. |
DISP_E_EXCEPTION |
O membro que está sendo chamado retornou um erro HRESULT. Se o membro implementa IErrorInfo, os detalhes estão disponível no objeto de erro. Caso contrário, o pExcepInfo parâmetro contém detalhes. |
TYPE_E_IOERROR |
A função não pôde ler a partir de arquivo. |
TYPE_E_INVDATAREAD |
Dados inválidos. |
TYPE_E_UNSUPFORMAT |
A biblioteca tipo tem um formato mais antigo. |
TYPE_E_REGISTRYACCESS |
Houve um erro acessando o sistema registro banco de dados. |
TYPE_E_LIBNOTREGISTERED |
A biblioteca tipo não foi encontrada no registro banco de dados sistema. |
TYPE_E_INVALIDSTATE |
Não foi possível abrir a biblioteca tipo. |
TYPE_E_WRONGTYPEKIND |
Tipo incompatível. |
TYPE_E_ELEMENTNOTFOUND |
O elemento não foi encontrado. |
TYPE_E_BADMODULEKIND |
O módulo não tem suporte Chamar. |
Outros códigos de retorno |
Qualquer um do IDispatch::Invoke Os erros também podem ser retornados. |
Remarks
Use a função ITypeInfo::Invoke Para acessar um membro de um objeto ou invocar um método que implementa a interface descrito por esta descrição tipo. Para objetos que suporte o IDispatch interface, você pode usar ITypeInfo::Invoke Para implementar IDispatch::Invoke.
ITypeInfo::Invoke Leva um ponteiro para uma instância da classe. Caso contrário, seus parâmetros são os mesmos IDispatch::Invoke, exceto pelo fato de que ITypeInfo::Invoke Omite o refiid e LCID Parâmetros. Quando chamado, ITypeInfo::Invoke executa as ações descritas pela IDispatch::Invoke Parâmetros na instância especificada.
Para membros interface VTBL, ITypeInfo::Invoke Passa a LCID de informações de tipo em parâmetros marcados com o LCID atributo e o valor retornado para o retval atributo.
Se a descrição tipo herda descrição outro tipo, essa função recurses na descrição de tipo base para localizar o item com o identificador membro solicitado.
Requirements
Header | oaidl.h, oaidl.idl |
Library | oleaut32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |