Struttura FUNCDESC (oaidl.h)

Descrive una funzione.

Sintassi

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;

Members

memid

ID membro della funzione.

lprgscode

Codice di stato.

lprgelemdescParam

Descrizione dell'elemento.

funckind

Indica il tipo di funzione (solo virtuale, statico o dispatch).

invkind

Tipo di chiamata. Indica se si tratta di una funzione di proprietà e, in tal caso, quale tipo.

callconv

Convenzione di chiamata.

cParams

Numero totale di parametri.

cParamsOpt

Numero di parametri facoltativi.

oVft

Per FUNC_VIRTUAL, specifica l'offset nella VTBL.

cScodes

Numero di valori restituiti possibili.

elemdescFunc

Tipo restituito dalla funzione.

wFuncFlags

Flag di funzione. Vedere FUNCFLAGS.

Commenti

Il campo cParams specifica il numero totale di parametri obbligatori e facoltativi.

Il campo cParamsOpt specifica la forma di parametri facoltativi accettati dalla funzione, come indicato di seguito:

  • Un valore pari a 0 specifica che non sono supportati argomenti facoltativi.
  • Un valore di –1 specifica che l'ultimo parametro del metodo è un puntatore a una matrice sicura di varianti. Qualsiasi numero di argomenti varianti maggiori di cParams -1 deve essere pacchetto dal chiamante in una matrice sicura e passata come parametro finale. Questa matrice di parametri facoltativi deve essere liberata dal chiamante dopo che il controllo viene restituito dalla chiamata.
  • Qualsiasi altro numero indica che gli ultimi n parametri della funzione sono varianti e non devono essere specificati dal chiamante in modo esplicito. I parametri lasciati non specificati devono essere compilati dal compilatore o dall'interprete come varianti di tipo VT_ERROR con il valore DISP_E_PARAMNOTFOUND.

Requisiti

Requisito Valore
Intestazione oaidl.h