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