Método ITypeInfo::Invoke (oaidl.h)
Invoca a un método u obtiene acceso a una propiedad de un objeto, que implementa la interfaz descrita por la descripción de tipo.
Sintaxis
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
Instancia de la interfaz descrita por esta descripción de tipo.
[in] memid
Miembro de interfaz.
[in] wFlags
Marcadores que describen el contexto de la llamada Invoke.
[in, out] pDispParams
Matriz de argumentos, una matriz de DISPID para argumentos con nombre y recuentos del número de elementos de cada matriz.
[out] pVarResult
Resultado. Debe ser null si el autor de la llamada no espera ningún resultado. Si wFlags especifica DISPATCH_PROPERTYPUT o DISPATCH_PROPERTYPUTREF, se omite pVarResultis .
[out] pExcepInfo
Estructura de información de excepción, que solo se rellena si se devuelve DISP_E_EXCEPTION. Si pExcepInfo es null en la entrada, solo se devolverá un error HRESULT.
[out] puArgErr
Si Invoke devuelve DISP_E_TYPEMISMATCH, puArgErr indica el índice (en rgvarg) del argumento con un tipo incorrecto. Si más de un argumento devuelve un error, puArgErr indica solo el primer argumento con un error. Los argumentos de pDispParams->rgvarg aparecen en orden inverso, por lo que el primer argumento es el que tiene el índice más alto de la matriz. Este parámetro no puede ser null.
Valor devuelto
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
Uno o varios de los argumentos no son válidos. |
|
El miembro al que se invoca ha devuelto un error HRESULT. Si el miembro implementa IErrorInfo, los detalles están disponibles en el objeto de error. De lo contrario, el parámetro pExcepInfo contiene detalles. |
También se puede devolver cualquiera de los errores IDispatch::Invoke .
Comentarios
Use la función ITypeInfo::Invoke para tener acceso a un miembro de un objeto o invocar un método que implemente la interfaz descrita por esta descripción de tipo. Para los objetos que admiten la interfaz IDispatch , puede usar Invoke para implementar IDispatch::Invoke.
ITypeInfo::Invoke toma un puntero a una instancia de la clase . De lo contrario, sus parámetros son los mismos que IDispatch::Invoke, excepto que ITypeInfo::Invoke omite los parámetros refiid y lcid . Cuando se llama a , ITypeInfo::Invoke realiza las acciones descritas por los parámetros IDispatch::Invoke en la instancia especificada.
Para los miembros de la interfaz VTBL, ITypeInfo::Invoke pasa el LCID de la información de tipo en parámetros etiquetados con el atributo lcid y el valor devuelto en el atributo retval.
Si la descripción del tipo hereda de otra descripción de tipo, esta función se repite en la descripción del tipo base para buscar el elemento con el identificador de miembro solicitado.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | oaidl.h |