Share via


Método ITypeComp::Bind (oaidl.h)

Asigna un nombre a un miembro de un tipo o enlaza variables y funciones globales de una biblioteca de tipos.

Sintaxis

HRESULT Bind(
  [in]  LPOLESTR  szName,
  [in]  ULONG     lHashVal,
  [in]  WORD      wFlags,
  [out] ITypeInfo **ppTInfo,
  [out] DESCKIND  *pDescKind,
  [out] BINDPTR   *pBindPtr
);

Parámetros

[in] szName

Nombre que se va a enlazar.

[in] lHashVal

Valor hash del nombre calculado por LHashValOfNameSys.

[in] wFlags

Una o varias de las marcas definidas en la enumeración INVOKEKIND. Especifica si se hizo referencia al nombre como un método o una propiedad. Al enlazar a una variable, especifique la marca INVOKE_PROPERTYGET. Especifique cero para enlazar a cualquier tipo de miembro.

[out] ppTInfo

Si se devolvió un FUNCDESC o VARDESC, ppTInfo apunta a un puntero a la descripción de tipo que contiene el elemento al que está enlazado.

[out] pDescKind

Indica si el nombre enlazado a es VARDESC, FUNCDESC o TYPECOMP. Si no había coincidencia, DESCKIND_NONE.

[out] pBindPtr

Interfaz enlazada a VARDESC, FUNCDESC o ITypeComp .

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
E_INVALIDARG
Uno o varios de los argumentos no son válidos.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.

Comentarios

Use Bind para enlazar a las variables y métodos de un tipo, o para enlazar a las variables y métodos globales de una biblioteca de tipos. El puntero de DESCKIND devuelto pDescKind indica si el nombre estaba enlazado a un VARDESC, un FUNCDESC o a una instancia de ITypeComp . El elemento pBindPtr devuelto apunta a VARDESC, FUNCDESC o ITypeComp.

Si un miembro de datos o un método está enlazado, ppTInfopoints a la descripción del tipo que contiene el método o el miembro de datos.

Si Bind enlaza el nombre a un contexto de enlace anidado, devuelve un puntero a una instancia de ITypeComp en pBindPtr y un puntero de descripción de tipo null en ppTInfo. Por ejemplo, si se pasa el nombre de una descripción de tipo para un módulo (TKIND_MODULE), enumeración (TKIND_ENUM) o coclase (TKIND_COCLASS), Bind devuelve la instancia de ITypeComp de la descripción de tipo del módulo, enumeración o coclase. Esta característica admite lenguajes como Visual Basic que permiten que las referencias a miembros de una descripción de tipo se califiquen por el nombre de la descripción del tipo. Por ejemplo, se puede hacer referencia a una función de un módulo mediante modulename. Nombrefunción.

Los miembros de TKIND_ENUM, TKIND_MODULE y tipos de TKIND_COCLASS marcados como objetos Application se pueden enlazar directamente desde ITypeComp, sin especificar el nombre del módulo. ITypeComp de una coclase aplaza a ITypeComp de su interfaz predeterminada.

Al igual que con otros métodos de ITypeComp, ITypeInfo e ITypeInfo, el código de llamada es responsable de liberar las estructuras o instancias de objeto devueltas. Si se devuelve un VARDESC o FUNCDESC, el autor de la llamada es responsable de eliminarlo con la descripción del tipo devuelto y liberar la propia instancia de descripción del tipo. De lo contrario, si se devuelve una instancia de ITypeComp , el autor de la llamada debe liberarla.

Se aplican reglas especiales si se llama al método Bind de una biblioteca de tipos, pasando el nombre de un miembro de una clase de objeto Application (una clase que tiene establecido la marca TYPEFLAG_FAPPOBJECT). En este caso, Bind devuelve DESCKIND_IMPLICITAPPOBJ en pDescKind, un VARDESC que describe el objeto Application en pBindPtr y el ITypeInfo de la clase de objeto Application en ppTInfo. Para enlazar al objeto, ITypeInfo::GetTypeComp debe realizar una llamada para obtener el ITypeComp de la clase de objeto Application y, a continuación, volver a invocar su método Bind con el nombre que se pasó inicialmente al ITypeComp de la biblioteca de tipos.

El llamador debe usar el puntero ITypeInfo devuelto (ppTInfo) para obtener la dirección del miembro.

Nota El parámetro wflags es el mismo que el parámetro wflags en IDispatch::Invoke.
 

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado oaidl.h

Consulte también

ITypeComp