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