Поделиться через


Функция LoadTypeLib (oleauto.h)

Загружает и регистрирует библиотеку типов.

Синтаксис

HRESULT LoadTypeLib(
  LPCOLESTR szFile,
  ITypeLib  **pptlib
);

Параметры

szFile

Имя файла, из которого метод должен попытаться загрузить библиотеку типов.

pptlib

Загруженная библиотека типов.

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

Эта функция может возвращать одно из этих значений.

Код возврата Описание
S_OK
Успешно.
E_INVALIDARG
Один или несколько аргументов недопустимы.
E_OUTOFMEMORY
Недостаточно памяти для завершения операции.
TYPE_E_IOERROR
Функции не удалось выполнить запись в файл.
TYPE_E_INVALIDSTATE
Не удалось открыть библиотеку типов.
TYPE_E_INVDATAREAD
Функции не удалось прочитать из файла.
TYPE_E_UNSUPFORMAT
Библиотека типов имеет старый формат.
TYPE_E_UNKNOWNLCID
Не удалось найти код LCID в библиотеках DLL, поддерживаемых OLE.
TYPE_E_CANTLOADLIBRARY
Не удалось загрузить библиотеку типов или библиотеку DLL.

Комментарии

Функция LoadTypeLib загружает библиотеку типов (обычно созданную с помощью MkTypLib), которая хранится в указанном файле. Если szFile указывает только имя файла без пути, LoadTypeLib выполняет поиск файла и выполняет следующие действия:

  • Если файл является автономной библиотекой типов, реализованной Typelib.dll, библиотека загружается напрямую.
  • Если файл является dll или исполняемым файлом, он загружается. По умолчанию библиотека типов извлекается из первого ресурса типа ITypeLib. Чтобы загрузить другой тип ресурса библиотеки, добавьте целочисленный индекс в szFile. Пример:
    ITypeLib *ptlib;
    LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib)
    

    Эта инструкция загружает ресурс библиотеки типов 3 из файла Mfa.exe файла.

  • Если файл не является ни одной из перечисленных выше, имя файла анализируется в моникер (объект, представляющий источник ссылки на основе файла), а затем привязывается к моникеру. Такой подход позволяет использовать LoadTypeLib во внешних библиотеках типов, включая библиотеки типов в памяти. Библиотеки внешних типов не могут находиться в dll или исполняемом файле. Дополнительные сведения о моникерах см. в справочнике по com-программистам.
Если библиотека типов уже загружена, LoadTypeLib увеличивает количество ссылок библиотеки типов и возвращает указатель на библиотеку типов.

Для обеспечения обратной совместимости LoadTypeLib регистрирует библиотеку типов, если путь не указан в параметре szFile . LoadTypeLib не регистрирует библиотеку типов, если указан путь к библиотеке типов. Рекомендуется использовать RegisterTypeLib для регистрации библиотеки типов.

Требования

Требование Значение
Целевая платформа Windows
Header oleauto.h
Библиотека OleAut32.lib
DLL OleAut32.dll