Structure FUNCDESC (oaidl.h)
Décrit une fonction.
Syntaxe
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;
Membres
memid
ID de membre de la fonction.
lprgscode
Code d'état.
lprgelemdescParam
Description de l’élément.
funckind
Indique le type de fonction (virtuelle, statique ou dispatch-only).
invkind
Type d’appel. Indique s’il s’agit d’une fonction de propriété et, le cas échéant, quel type.
callconv
Convention d’appel.
cParams
Nombre total de paramètres.
cParamsOpt
Nombre de paramètres facultatifs.
oVft
Pour FUNC_VIRTUAL, spécifie le décalage dans le VTBL.
cScodes
Nombre de valeurs de retour possibles.
elemdescFunc
Type de retour de la fonction.
wFuncFlags
Indicateurs de fonction. Consultez FUNCFLAGS.
Remarques
Le champ cParams spécifie le nombre total de paramètres obligatoires et facultatifs.
Le champ cParamsOpt spécifie la forme des paramètres facultatifs acceptés par la fonction, comme suit :
- La valeur 0 spécifie qu’aucun argument facultatif n’est pris en charge.
- La valeur –1 spécifie que le dernier paramètre de la méthode est un pointeur vers un tableau sécurisé de variantes. Tout nombre d’arguments variants supérieurs à cParams –1 doit être empaqueté par l’appelant dans un tableau sécurisé et passé comme paramètre final. Ce tableau de paramètres facultatifs doit être libéré par l’appelant après le retour du contrôle à partir de l’appel.
- Tout autre nombre indique que les n derniers paramètres de la fonction sont des variantes et n’ont pas besoin d’être spécifiés explicitement par l’appelant. Les paramètres non spécifiés doivent être renseignés par le compilateur ou l’interpréteur en tant que variantes de type VT_ERROR avec la valeur DISP_E_PARAMNOTFOUND.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | oaidl.h |