Операционная система Microsoft Windows 3.1 для программиста -том 3


Динамический импорт функций во время выполнения приложения - часть 2


В противном случае возвращается код ошибки, который по своему значению меньше величины HINSTANCE_ERROR, определенной в файле windows.h. Возможны следующие коды ошибок:

Код ошибки Описание
0 Мало памяти, неправильный формат загружаемого файла
2 Файл не найден
3 Путь к файлу не существует
5 Была предпринята попытка динамически загрузить приложение или произошла ошибка при совместном использовании файлов. Также возможно, что была предпринята попытка доступа к файлу в сети пользователем, не имеющим на это достаточных прав
6 Данная библиотека требует отдельный сегмент данных для каждой задачи
8 Мало памяти для запуска приложения
10 Неправильная версия операционной системы Windows
11 Неправильный формат загрузочного файла приложения Windows
12 Данное приложение разработано для операционной системы, отличной от Microsoft Windows
13 Данное приложение разработано для MS-DOS версии 4.0
14 Неизвестный тип исполняемого файла
15 Была предпринята попытка загрузить приложение, разработанное для реального режима работы процессора в среде ранних версий операционной системы Windows
16 Была предпринята попытка загрузить вторую копию исполняемого файла, содержащего сегменты данных, отмеченные как multiple, но не защищенные от записи
19 Попытка загрузки компрессованного выполнимого файла
20 Файл, содержащий DLL-библиотеку, имеет неправильный формат
21 Данное приложение работает только в среде 32-битового расширения Windows

Функция LoadLibrary может быть вызвана разными приложениями для одной и той же DLL-библиотеки несколько раз. В этом случае загрузка DLL-библиотеки выполняется только один раз. Последующие вызовы функции LoadLibrary приводят только к увеличению счетчика использования DLL-библиотеки.

В качестве примера приведем фрагмент исходного текста приложения, загружающего DLL-библиотеку из файла srcdll.dll:

HINSTANCE hLib; hLib = LoadLibrary("srcdll.dll"); if(hLib >= HINSTANCE_ERROR) { // Работа с DLL-библиотекой } FreeLibrary(hLib);




Начало  Назад  Вперед



Книжный магазин