Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

LoadLibrary   Найти похожие ветки 

 
-SeM-   (2004-09-14 13:09) [0]

В справке LoadLibrary при удачной загрузке возвращает хендл загруженного модуля, при неудачной - NULL (для HInstance - 0). Почему в некоторых случаях результат сравнивают с HINSTANCE_ERROR ($20)? И как правильно производить проверку?


 
Digitman ©   (2004-09-14 13:34) [1]

очевидно, это связано с текущим состоянием опции интерактивной обработки ошибок (см. ф-цию SetErrorMode)


 
-SeM-   (2004-09-14 14:02) [2]

Digitman ©   (14.09.04 13:34) [1]

Т.е. если установлен флаг SEM_NOOPENFILEERRORBOX я должен сравнивать с HINSTANCE_ERROR и соответсвенно возвращать HINSTANCE_ERROR в случае неудачной загрузки (для своего загрузчика)?


 
Игорь Шевченко ©   (2004-09-14 14:06) [3]


> Почему в некоторых случаях результат сравнивают с HINSTANCE_ERROR
> ($20)


Для совместимости с Windows 3.x ?


 
Digitman ©   (2004-09-14 14:07) [4]

получается так ... во всяком случае пример из msdn как раз именно такой алгоритм и иллюстрирует


 
-SeM-   (2004-09-14 14:09) [5]

Спасибо!


 
Игорь Шевченко ©   (2004-09-14 14:57) [6]

"Win31 documentation says that errors are less than HINSTANCE_ERROR and that success is greater than 32"


 
-SeM-   (2004-09-14 15:32) [7]

Игорь Шевченко ©   (14.09.04 14:57) [6]

Меня больше интересует что необходимо возвратить из своего загрузчика в случае неудачной загрузки


 
Игорь Шевченко ©   (2004-09-14 15:47) [8]

-SeM-   (14.09.04 15:32) [7]


> Меня больше интересует что необходимо возвратить из своего
> загрузчика в случае неудачной загрузки


возвратить 0, и сказать нужный SetLastError


 
Игорь Шевченко ©   (2004-09-14 15:50) [9]

Handle, который возвращается загрузчиком Windows есть адрес в адресном пространстве процесса, на который спроецирован исполняемый файл или адрес выделенной области памяти в swap-файле (и опять же, спроцецированной на адресное пространсто процесса), если исполняемый файл при загрузке подвергся модификации.


 
-SeM-   (2004-09-14 15:50) [10]

Игорь Шевченко ©   (14.09.04 15:47) [8]

Так пока и сделано, но совесть стала мучить.
Спасибо.


 
-SeM-   (2004-09-14 17:56) [11]

Игорь Шевченко ©   (14.09.04 15:50) [9]

Ой, не прочитал [9]

> если исполняемый файл при загрузке подвергся модификации

Бррр....
Т.е. настройка релоков... А, допустим, настройки не было какой будет Handle?


 
Игорь Шевченко ©   (2004-09-14 18:07) [12]

-SeM-   (14.09.04 17:56) [11]


> А, допустим, настройки не было какой будет Handle?


Handle будет равен адресу, который возвратился после MapViewOfFile.



Страницы: 1 вся ветка

Текущий архив: 2004.10.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
1-1096889517
DelphiLexx
2004-10-04 15:31
2004.10.17
Избавится от моргания ListView


4-1095219660
Настенька
2004-09-15 07:41
2004.10.17
кнопка Пуск


14-1096279713
Mar_gel
2004-09-27 14:08
2004.10.17
Помогите! Delphi перестала компилить свои библиотеки в проект


4-1094996368
Sem
2004-09-12 17:39
2004.10.17
Перекодировка DOS -> Windows и обратно


14-1096336036
Думкин
2004-09-28 05:47
2004.10.17
С днем рождения! 28 сентября