FUNCDESC-Struktur (oaidl.h)
Beschreibt eine Funktion.
Syntax
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;
Member
memid
Die Funktionsmember-ID.
lprgscode
Der Statuscode.
lprgelemdescParam
Beschreibung des Elements.
funckind
Gibt den Typ der Funktion an (virtuell, statisch oder nur verteilt).
invkind
Der Aufruftyp. Gibt an, ob es sich um eine Eigenschaftsfunktion handelt, und wenn ja, welchen Typ.
callconv
Die Aufrufkonvention.
cParams
Die Gesamtzahl der Parameter.
cParamsOpt
Die Anzahl optionaler Parameter.
oVft
Gibt für FUNC_VIRTUAL den Offset in der VTBL an.
cScodes
Die Anzahl der möglichen Rückgabewerte.
elemdescFunc
Der Funktionsrückgabetyp.
wFuncFlags
Die Funktionsflags. Siehe FUNCFLAGS.
Hinweise
Das Feld cParams gibt die Gesamtzahl der erforderlichen und optionalen Parameter an.
Das Feld cParamsOpt gibt die Form optionaler Parameter an, die von der Funktion akzeptiert werden, wie folgt:
- Der Wert 0 gibt an, dass keine optionalen Argumente unterstützt werden.
- Der Wert –1 gibt an, dass der letzte Parameter der Methode ein Zeiger auf ein sicheres Array von Varianten ist. Eine beliebige Anzahl von Variantenargumenten größer als cParams –1 muss vom Aufrufer in ein sicheres Array verpackt und als endgültiger Parameter übergeben werden. Dieses Array optionaler Parameter muss vom Aufrufer freigegeben werden, nachdem das Steuerelement vom Aufruf zurückgegeben wurde.
- Jede andere Zahl gibt an, dass die letzten n-Parameter der Funktion Varianten sind und nicht explizit vom Aufrufer angegeben werden müssen. Die nicht angegebenen Parameter sollten vom Compiler oder Interpreter als Varianten des Typs eingegeben werden, VT_ERROR mit dem Wert DISP_E_PARAMNOTFOUND.
Anforderungen
Anforderung | Wert |
---|---|
Header | oaidl.h |