Справочник по технологии COM Страница 7. LoadRegTypeLib
|
Страница 7 из 111
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 возвращает ошибку. |