Freigeben über


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
S_OK
Erfolg.
E_INVALIDARG
Mindestens eines der Argumente ist ungültig.
E_OUTOFMEMORY
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.

Hinweis Der wflags-Parameter ist mit dem wflags-Parameter in IDispatch::Invoke identisch.
 

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile oaidl.h

Weitere Informationen

Itypecomp