ICreateTypeInfo::AddFuncDesc-Methode (oaidl.h)

Fügt der Typbeschreibung eine Funktionsbeschreibung hinzu.

Syntax

HRESULT AddFuncDesc(
  [in] UINT     index,
  [in] FUNCDESC *pFuncDesc
);

Parameter

[in] index

Der Index des neuen FUNCDESC in den Typinformationen.

[in] pFuncDesc

Eine FUNCDESC-Struktur, die die Funktion beschreibt. Das Feld bstrIDLInfo in FUNCDESC sollte NULL sein.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
S_OK
Erfolg.
E_INVALIDARG
Mindestens eines der Argumente ist ungültig.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.
E_ACCESSDENIED
In das Ziel kann nicht geschrieben werden.
STG_E_INSUFFICIENTMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.
TYPE_E_WRONGTYPEKIND
Typenkonflikt.

Hinweise

Der Index gibt die Reihenfolge der Funktionen innerhalb der Typinformationen an. Die erste Funktion weist einen Index von 0 (null) auf. Wenn ein Index angegeben wird, der einen wert unter der Anzahl der Funktionen in den Typinformationen überschreitet, wird ein Fehler zurückgegeben. Durch aufrufen dieser Funktion wird der Besitz der FUNCDESC-Struktur nicht an ICreateTypeInfo übergeben. Daher muss der Aufrufer die Zuordnung der FUNCDESC-Struktur weiterhin aufheben.

Das übergebene VTBL-Feld (oVft) der FUNCDESC wird ignoriert, wenn TYPEKIND TKIND_MODULE oder wenn oVft -1 oder 0 ist. Dieses Attribut wird festgelegt, wenn ICreateTypeInfo::LayOut aufgerufen wird. Der oVft-Wert wird verwendet, wenn TYPEKIND TKIND_DISPATCH und eine duale Schnittstelle ist oder wenn TYPEKIND TKIND_INTERFACE ist. Wenn oVft verwendet wird, muss es ein Vielfaches der größeof(VOID *) auf dem Computer sein. Andernfalls schlägt die Funktion fehl, und E_INVALIDARG wird als HRESULT zurückgegeben.

Die Funktion AddFuncDesc verwendet die übergebenen Memberbezeichnerfelder (memid) in jedem FUNCDESC für Klassen mit TYPEKIND = TKIND_DISPATCH oder TKIND_INTERFACE. Wenn die Member-IDs auf MEMBERID_NIL festgelegt sind, weist AddFuncDesc den Funktionen Member-IDs zu. Andernfalls werden die Felder der Member-ID in jedem FUNCDESC ignoriert.

Alle HREFTYPE-Felder in der FUNCDESC-Struktur müssen von derselben instance von ITypeInfo erstellt worden sein, für die AddFuncDesc aufgerufen wird.

Die Get- und Put-Accessorfunktionen für dieselbe Eigenschaft müssen über denselben Dispatchbezeichner (DISPID) verfügen.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile oaidl.h

Weitere Informationen

ICreateTypeInfo