Бөлісу құралы:


Функция LoadTypeLibWithResolver

Загружает библиотеку типов и использует предоставленный интерфейс ITypeLibResolver для разрешения всех библиотек типов, на которые ссылаются внутренние ссылки.

Синтаксис

HRESULT LoadTypeLibWithResolver(  
    [in]  LPCOLESTR           szFile,  
    [in]  REGKIND             regkind,  
    [in]  ITypeLibResolver   *pTlbResolver,  
    [out] ITypeLib          **pptlib);  

Параметры

szFile
[in] Путь к файлу библиотеки типов.

regkind
[in] Флаг перечисления REGKIND , который управляет способом регистрации библиотеки типов. Возможные значения:

  • REGKIND_DEFAULT: используется поведение регистрации по умолчанию.

  • REGKIND_REGISTER: зарегистрируйте эту библиотеку типов.

  • REGKIND_NONE: не регистрировать эту библиотеку типов.

pTlbResolver
[in] Указатель на реализацию интерфейса ITypeLibResolver.

pptlib
[out] Ссылка на загружаемую библиотеку типов.

Возвращаемое значение

Одно из значений HRESULT, перечисленных в следующей таблице.

Возвращаемое значение Значение
S_OK Успешно.
E_OUTOFMEMORY Недостаточно памяти.
E_POINTER Один или несколько указателей недопустимы.
E_INVALIDARG Один или несколько аргументов являются недопустимыми.
TYPE_E_IOERROR Функции не удалось выполнить запись в файл.
TYPE_E_REGISTRYACCESS Не удалось открыть базу данных системной регистрации.
TYPE_E_INVALIDSTATE Не удалось открыть библиотеку типов.
TYPE_E_CANTLOADLIBRARY Не удалось загрузить библиотеку типов или библиотеку DLL.

Комментарии

Tlbexp.exe (средство экспорта библиотек типов) вызывает функцию LoadTypeLibWithResolver во время преобразования библиотеки сборки в тип.

Эта функция загружает указанную библиотеку типов с минимальным доступом к реестру. Затем функция проверяет библиотеку типов на наличие внутренних библиотек типов, каждая из которых должна быть загружена и добавлена в родительскую библиотеку типов.

Перед загрузкой библиотеки типов, на которые указывает ссылка, ее путь к файлу ссылки должен быть разрешен в полный путь к файлу. Это достигается с помощью метода ResolveTypeLib , предоставляемого интерфейсом ITypeLibResolver, который передается в параметре pTlbResolver .

Когда известен полный путь к файлу библиотеки типов, на который указывает ссылка, LoadTypeLibWithResolver функция загружает библиотеку типов, на которые указывает ссылка, и добавляет ее в родительскую библиотеку типов, создавая объединенную библиотеку первичных типов.

После того как функция разрешит и загрузит все библиотеки типов, на которые ссылаются внутренние ссылки, она возвращает ссылку на первичную библиотеку разрешенных типов в параметре pptlib .

Функция LoadTypeLibWithResolver обычно вызывается Tlbexp.exe (средство экспорта библиотек типов), которое предоставляет собственную внутреннюю реализацию интерфейса ITypeLibResolver в параметре pTlbResolver .

При вызове LoadTypeLibWithResolver напрямую необходимо предоставить собственную реализацию интерфейса ITypeLibResolver .

Требования

Платформы: см. раздел Требования к системе.

Заголовка: TlbRef.h

Библиотека: TlbRef.lib

платформа .NET Framework версия: 3.5, 3.0, 2.0

См. также раздел