Справочник по технологии COM
Страница 7. LoadRegTypeLib


LoadRegTypeLib

Загружает библиотеку типа по информации из реестра.

HRESULT LoadRegTypeLib
(
REFGUID rguid,
unsigned short wVerMajor,
unsigned short wVerMinor,
LCID kid,
ITypeLib FAR* FAR*pptlib
);

Параметры:

  • rguid - GUID загружаемой библиотеки.
  • wVerMajor - Старшая часть номера версии загружаемой библиотеки.
  • wVerMinor - Младшая часть номера версии загружаемой библиотеки.
  • kid - Код национального языка загружаемой библиотеки.
  • pptlib - Принимает указатель на загруженную библиотеку.

Коды возврата:
Из возвращенного HRESULT получают один из следующих кодов возврата:

Код возврата Значение
S_OK Успех.
E_OUTOFMEMORY He хватает памяти.
E_INVALIDARG Один или несколько аргументов неверны.
TYPE_E_IOERROR Функция не может выполнить запись в файл.
TYPE_E_INVALIDSTATE He удается открыть библиотеку типа.
TYPE_E_INVDATAREAD Функция не может читать из файла.
TYPE_E_UNSUPFORMAT Библиотека типа имеет старый формат.
TYPE_E_UNKNOWNLCID Идентификатор местности (LCID) в DLL OLE не найден.
TYPE_E_CANTLOADLIBRARY He удается загрузить библиотеку типа или DLL.
Другие Могут возвращаться любые ошибки FACILITY_STORAGE и ошибки доступа к системному реестру.

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

 
Следующая статья »