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 |