Шаг 6 - 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 возвращает ошибку.

Hosted by uCoz