Estrutura FUNCDESC (oaidl.h)

Descreve uma função.

Sintaxe

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;

Membros

memid

A ID do membro da função.

lprgscode

O código do status.

lprgelemdescParam

Descrição do elemento .

funckind

Indica o tipo de função (virtual, estático ou somente expedição).

invkind

O tipo de invocação. Indica se essa é uma função de propriedade e, em caso afirmativo, qual tipo.

callconv

A convenção de chamada.

cParams

O número total de parâmetros.

cParamsOpt

O número de parâmetros opcionais.

oVft

Para FUNC_VIRTUAL, especifica o deslocamento no VTBL.

cScodes

O número de valores retornados possíveis.

elemdescFunc

O tipo de retorno de função.

wFuncFlags

Os sinalizadores de função. Consulte FUNCFLAGS.

Comentários

O campo cParams especifica o número total de parâmetros obrigatórios e opcionais.

O campo cParamsOpt especifica a forma de parâmetros opcionais aceitos pela função, da seguinte maneira:

  • Um valor 0 especifica que não há suporte para argumentos opcionais.
  • Um valor de –1 especifica que o último parâmetro do método é um ponteiro para uma matriz segura de variantes. Qualquer número de argumentos variantes maiores que cParams –1 deve ser empacotado pelo chamador em uma matriz segura e passado como o parâmetro final. Essa matriz de parâmetros opcionais deve ser liberada pelo chamador depois que o controle é retornado da chamada.
  • Qualquer outro número indica que os últimos n parâmetros da função são variantes e não precisam ser especificados explicitamente pelo chamador. Os parâmetros não especificados devem ser preenchidos pelo compilador ou pelo interpretador como variantes do tipo VT_ERROR com o valor DISP_E_PARAMNOTFOUND.

Requisitos

Requisito Valor
Cabeçalho oaidl.h