Estructura FUNCDESC (oaidl.h)
Describe una función.
Sintaxis
typedef struct tagFUNCDESC {
MEMBERID memid;
SCODE *lprgscode;
ELEMDESC *lprgelemdescParam;
FUNCKIND funckind;
INVOKEKIND invkind;
CALLCONV callconv;
SHORT cParams;
SHORT cParamsOpt;
SHORT oVft;
SHORT cScodes;
ELEMDESC elemdescFunc;
WORD wFuncFlags;
} FUNCDESC, *LPFUNCDESC;
Miembros
memid
Identificador de miembro de la función.
lprgscode
Código de estado.
lprgelemdescParam
Descripción del elemento.
funckind
Indica el tipo de función (solo virtual, estática o de envío).
invkind
Tipo de invocación. Indica si se trata de una función de propiedad y, si es así, qué tipo.
callconv
Convención de llamada.
cParams
Número total de parámetros.
cParamsOpt
Número de parámetros opcionales.
oVft
Para FUNC_VIRTUAL, especifica el desplazamiento en VTBL.
cScodes
Número de valores devueltos posibles.
elemdescFunc
El tipo de valor devuelto de la función.
wFuncFlags
Marcas de función. Consulte FUNCFLAGS.
Comentarios
El campo cParams especifica el número total de parámetros obligatorios y opcionales.
El campo cParamsOpt especifica la forma de parámetros opcionales aceptados por la función, como se indica a continuación:
- Un valor de 0 especifica que no se admiten argumentos opcionales.
- Un valor de –1 especifica que el último parámetro del método es un puntero a una matriz segura de variantes. El autor de la llamada debe empaquetar cualquier número de argumentos variant mayores que cParams –1 en una matriz segura y pasar como parámetro final. El autor de la llamada debe liberar esta matriz de parámetros opcionales después de que se devuelva el control de la llamada.
- Cualquier otro número indica que los últimos n parámetros de la función son variantes y no es necesario especificarlos explícitamente por el autor de la llamada. El compilador o el intérprete deben rellenar los parámetros sin especificar como variantes de tipo VT_ERROR con el valor DISP_E_PARAMNOTFOUND.
Requisitos
Requisito | Valor |
---|---|
Header | oaidl.h |