Re: Differences between Windows 95, 98 and NT (DLL)
От: Игорь Вартанов Ниоткуда  
Дата: 23.11.01 17:31
Оценка:
Здравствуйте MadRobinzon, Вы писали:

MR>Так к примеру всем известно что в win98/95 реализация и использование DLL имеет отличие от работы с DLL в NT/2000.


А можно вот об этом подробнее?

MR>Сразу вопрос в аудиторию:

MR>Всегда ли Dll в win98 должен содержась DllMain?

Похоже, что всегда (при условии, что мы пользуемся сишным компайлером и не переименовываем entry point). Причем это справедливо для любой Win32-операционки.

MR> В MSDN указано, что если при вызове (в W2K)LoadLibraryEx с флагом DONT_RESOLVE_DLL_REFERENCES функция DllMain не вызывается(

MR>...the system does not call DllMain for process and thread initialization and termination.),

Ну, раз MS сказала, значит не вызывается.
Но сразу рискну заметить, что случай использования этого флага — ба-а-а-льшая редкость, чаще как раз resolve dll references жизненно необходимы

MR> таким образом можно подумать что, в win98/95 поток DllMain существует до выгрузки dll из адресного простр. родительского процесса. Всели тут так?


Что такое "поток DllMain"?
Поток, в котором _выполняется_ DllMain? Так при загрузке dll DllMain() может быть вызвана в одном потоке, а при выгрузке — в другом, это же функция, ей пофигу, в каком потоке ее позовут.
---
С уважением,
Игорь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.