LoadTypeLibWithResolver (Función)
Esta función puede usarse para cargar una biblioteca de tipos y resolver cualquier biblioteca de tipos a la que se haga referencia de manera interna mediante la interfaz ITypeLibResolver.
Sintaxis
HRESULT LoadTypeLibWithResolver(
[in] LPCOLESTR szFile,
[in] REGKIND regkind,
[in] ITypeLibResolver *pTlbResolver,
[out] ITypeLib **pptlib);
Parámetros
szFile
[in] El valor de este parámetro se corresponde con la ruta de acceso del archivo de la biblioteca de tipos.
regkind
[in] El valor de este parámetro se corresponde con una marca de enumeración REGKIND que controla cómo se registra la biblioteca de tipos. Los valores posibles son los siguientes:
REGKIND_DEFAULT
: el uso de este valor establecerá el uso del comportamiento de registro predeterminado.REGKIND_REGISTER
: el uso de este valor causará que la biblioteca de tipos se registre.REGKIND_NONE
: el uso de este valor causará que la biblioteca de tipos no se registre.
pTlbResolver
[in] El valor de este parámetro se corresponde con un puntero que apunta a la implementación de la interfaz ITypeLibResolver.
pptlib
[out] El valor de este parámetro se corresponde con una referencia a la biblioteca de tipos que se va a cargar.
Valor devuelto
Al usar esta función, se obtendrá uno de los valores HRESULT que aparecen en la siguiente tabla.
Valor devuelto | Significado |
---|---|
S_OK |
Correcto. |
E_OUTOFMEMORY |
Memoria insuficiente |
E_POINTER |
Uno o varios de los punteros no son válidos. |
E_INVALIDARG |
Uno o varios argumentos no son válidos. |
TYPE_E_IOERROR |
La función no pudo realizar el proceso de escritura en el archivo. |
TYPE_E_REGISTRYACCESS |
No se pudo abrir la base de datos de registro de sistemas. |
TYPE_E_INVALIDSTATE |
No se pudo abrir la biblioteca de tipos. |
TYPE_E_CANTLOADLIBRARY |
No se pudo cargar la biblioteca de tipos o el archivo DLL en cuestión. |
Comentarios
Al usar el ejecutable Tlbexp.exe (exportador de biblioteca de tipos), se llama a la función LoadTypeLibWithResolver
durante el proceso de conversión de ensamblado a biblioteca de tipos.
Con esta función, se carga la biblioteca de tipos que se haya especificado con acceso mínimo al registro. Después, la función examina la biblioteca de tipos en busca de referencias internas a bibliotecas. Cada una de estas bibliotecas debe cargarse y agregarse a la biblioteca de tipos primaria.
Antes de que se pueda cargar una biblioteca de tipos a la que se hace referencia, la ruta de acceso de referencia del archivo debe resolverse para obtener la ruta de acceso completa del archivo. Para hacer esto, puede usarse el método ResolveTypeLib que se proporciona en la interfaz ITypeLibResolver. Esta debe pasarse en el parámetro pTlbResolver
.
Una vez que se conozca la ruta de acceso completa del archivo de la biblioteca de tipos a la que se hace referencia, puede usarse la función LoadTypeLibWithResolver
para cargar y agregar la biblioteca de tipos a la que se hace referencia a la biblioteca de tipos primaria. Este proceso concluirá con la creación de una biblioteca de tipos primaria combinada.
Cuando la función resuelva y cargue todas las bibliotecas de tipos a las que se hace referencia internamente, se devolverá una referencia a la biblioteca de tipos primaria que se resolvió, que se ubica en el parámetro pptlib
.
La función LoadTypeLibWithResolver
suele recibir llamadas del ejecutable Tlbexp.exe (exportador de biblioteca de tipos). Este exportador incluye una implementación interna de la interfaz ITypeLibResolver el parámetro pTlbResolver
.
Si va a llamar a la función LoadTypeLibWithResolver
directamente, deberá proporcionar su propia implementación de la interfaz ITypeLibResolver.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: TlbRef.h
Biblioteca: TlbRef.lib
Versión de .NET Framework: 3.5, 3.0 o 2.0