ITypeComp::Bind-Methode (oaidl.h)
Ordnet dem Member eines Typs einen Namen zu oder bindet globale Variablen und Funktionen in einer Typbibliothek.
Syntax
HRESULT Bind(
[in] LPOLESTR szName,
[in] ULONG lHashVal,
[in] WORD wFlags,
[out] ITypeInfo **ppTInfo,
[out] DESCKIND *pDescKind,
[out] BINDPTR *pBindPtr
);
Parameter
[in] szName
Der name, der gebunden werden soll.
[in] lHashVal
Der Hashwert für den von LHashValOfNameSys berechneten Namen.
[in] wFlags
Mindestens eins der in der INVOKEKIND-Enumeration definierten Flags. Gibt an, ob auf den Namen als Methode oder Eigenschaft verwiesen wurde. Geben Sie beim Binden an eine Variable das Flag INVOKE_PROPERTYGET an. Geben Sie null an, um an einen beliebigen Elementtyp zu binden.
[out] ppTInfo
Wenn ein FUNCDESC oder VARDESC zurückgegeben wurde, verweist ppTInfo auf einen Zeiger auf die Typbeschreibung, die das Element enthält, an das es gebunden ist.
[out] pDescKind
Gibt an, ob es sich bei dem an gebundenen Namen um VARDESC, FUNCDESC oder TYPECOMP handelt. Wenn es keine Übereinstimmung gab, DESCKIND_NONE.
[out] pBindPtr
Die an VARDESC, FUNCDESC oder ITypeComp gebundene Schnittstelle.
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. |
Hinweise
Verwenden Sie Bind für die Bindung an die Variablen und Methoden eines Typs oder für die Bindung an die globalen Variablen und Methoden in einer Typbibliothek. Der zurückgegebene DESCKIND-Zeiger pDescKind gibt an, ob der Name an einen VARDESC, einen FUNCDESC oder an eine ITypeComp-instance gebunden war. Der zurückgegebene pBindPtr verweist auf VARDESC, FUNCDESC oder ITypeComp.
Wenn ein Datenmember oder eine -Methode an gebunden ist, weist ppTInfo auf die Typbeschreibung hin, die die Methode oder das Datenmember enthält.
Wenn Bind den Namen an einen geschachtelten Bindungskontext bindet, wird ein Zeiger auf eine ITypeComp-instance in pBindPtr und ein NULL-Typbeschreibungszeiger in ppTInfo zurückgegeben. Wenn beispielsweise der Name einer Typbeschreibung für ein Modul (TKIND_MODULE), eine Enumeration (TKIND_ENUM) oder eine Coclass (TKIND_COCLASS) übergeben wird, gibt Bind den ITypeComp-instance der Typbeschreibung für das Modul, die Enumeration oder die Coclass zurück. Dieses Feature unterstützt Sprachen wie Visual Basic, mit denen Verweise auf Elemente einer Typbeschreibung durch den Namen der Typbeschreibung qualifiziert werden können. Beispielsweise kann mit modulname auf eine Funktion in einem Modul verwiesen werden. Functionname.
Die Member von TKIND_ENUM, TKIND_MODULE und TKIND_COCLASS Typen, die als Application-Objekte gekennzeichnet sind, können direkt aus ITypeComp gebunden werden, ohne den Namen des Moduls anzugeben. Die ITypeComp einer Coclass verschiebt sich auf die ITypeComp ihrer Standardschnittstelle.
Wie bei anderen Methoden von ITypeComp, ITypeInfo und ITypeInfo ist der aufrufende Code für die Freigabe der zurückgegebenen Objektinstanzen oder -strukturen verantwortlich. Wenn ein VARDESC oder FUNCDESC zurückgegeben wird, ist der Aufrufer dafür verantwortlich, sie mit der zurückgegebenen Typbeschreibung zu löschen und die Typbeschreibung instance selbst freizugeben. Wenn andernfalls ein ITypeComp-instance zurückgegeben wird, muss es vom Aufrufer freigegeben werden.
Besondere Regeln gelten, wenn Sie die Bind-Methode einer Typbibliothek aufrufen und ihr den Namen eines Members einer Application-Objektklasse übergeben (eine Klasse, die das TYPEFLAG_FAPPOBJECT-Flag festgelegt hat). In diesem Fall gibt Bind DESCKIND_IMPLICITAPPOBJ in pDescKind zurück, einem VARDESC, der das Application-Objekt in pBindPtr beschreibt, und die ITypeInfo der Application-Objektklasse in ppTInfo. Um an das Objekt zu binden, muss ITypeInfo::GetTypeComp einen Aufruf ausführen, um die ITypeComp-Klasse der Application-Objektklasse abzurufen, und dann die Bind-Methode mit dem Namen erneut aufrufen, der zuerst an die ITypeComp der Typbibliothek übergeben wurde.
Der Aufrufer sollte den zurückgegebenen ITypeInfo-Zeiger (ppTInfo) verwenden, um die Adresse des Elements abzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | oaidl.h |