Compartir a través de


Método ICreateTypeInfo::AddFuncDesc (oaidl.h)

Agrega una descripción de función a la descripción del tipo.

Sintaxis

HRESULT AddFuncDesc(
  [in] UINT     index,
  [in] FUNCDESC *pFuncDesc
);

Parámetros

[in] index

Índice del nuevo FUNCDESC en la información de tipo.

[in] pFuncDesc

Estructura FUNCDESC que describe la función. El campo bstrIDLInfo del FUNCDESC debe ser null.

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
E_INVALIDARG
Uno o varios de los argumentos no son válidos.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.
E_ACCESSDENIED
No se puede escribir en el destino.
STG_E_INSUFFICIENTMEMORY
Memoria insuficiente para completar la operación.
TYPE_E_WRONGTYPEKIND
No coinciden los tipos.

Comentarios

El índice especifica el orden de las funciones dentro de la información de tipo. La primera función tiene un índice de cero. Si se especifica un índice que supera un número menor que el número de funciones de la información de tipo, se devuelve un error. Al llamar a esta función, no se pasa la propiedad de la estructura FUNCDESC a ICreateTypeInfo. Por lo tanto, el autor de la llamada todavía debe desasignar la estructura FUNCDESC.

El campo de tabla de funciones virtuales (VTBL) pasado (oVft) del FUNCDESC se omite si TYPEKIND es TKIND_MODULE o si oVft es -1 o 0. Este atributo se establece cuando se llama a ICreateTypeInfo::LayOut . El valor de oVft se usa si TYPEKIND es TKIND_DISPATCH y una interfaz dual o si TYPEKIND es TKIND_INTERFACE. Si se usa oVft, debe ser un múltiplo del tamañoof(VOID *) en el equipo; de lo contrario, se produce un error en la función y se devuelve E_INVALIDARG como HRESULT.

La función AddFuncDesc usa los campos de identificador de miembro (memid) pasados dentro de cada FUNCDESC para las clases con TYPEKIND = TKIND_DISPATCH o TKIND_INTERFACE. Si los identificadores de miembro se establecen en MEMBERID_NIL, AddFuncDesc asigna identificadores de miembro a las funciones. De lo contrario, se omiten los campos de identificador de miembro dentro de cada FUNCDESC.

Cualquier campo HREFTYPE de la estructura FUNCDESC debe haber sido generado por la misma instancia de ITypeInfo para la que se llama a AddFuncDesc .

Las funciones de descriptor de acceso get y put para la misma propiedad deben tener el mismo identificador de envío (DISPID).

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado oaidl.h

Consulte también

ICreateTypeInfo