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 |
---|---|
|
Erfolg. |
|
Mindestens eines der Argumente ist ungültig. |
|
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen. |
|
In das Ziel kann nicht geschrieben werden. |
|
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen. |
|
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 |