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.

Valor Significado
DISPATCH_METHOD
Se tiene acceso al miembro como método . Si existe ambigüedad, se puede establecer tanto esta marca como la marca DISPATCH_PROPERTYGET.
DISPATCH_PROPERTYGET
El miembro se recupera como propiedad o miembro de datos.
DISPATCH_PROPERTYPUT
El miembro se cambia como propiedad o miembro de datos.
DISPATCH_PROPERTYPUTREF
El miembro se cambia mediante una asignación de referencia, en lugar de una asignación de valor. Esta marca solo es válida cuando la propiedad acepta una referencia a un objeto .

[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
S_OK
Correcto.
E_INVALIDARG
Uno o varios de los argumentos no son válidos.
DISP_E_EXCEPTION
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

Consulte también

Itypeinfo