Форум: "WinAPI";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
Внизпотоки Найти похожие ветки
← →
Сергей М. © (2006-12-11 08:47) [40]
> В деструкторе класса (не при финализации длл)
Если не при финализации этот деструктор вызывается, то когда ?
← →
Mixal__ (2006-12-11 09:15) [41]При финализации длл этот деструктор выполняется... но почему код неработоспособен??
← →
Сергей М. © (2006-12-11 09:36) [42]Ничего не понимаю ...
Сначала ты говоришь, что
> В деструкторе класса (не при финализации длл)
А теперь
> При финализации длл этот деструктор выполняется
Вражескую разведку что ли запутываешь ?)
> почему код неработоспособен?
Потому что при финализации dll ты никогда не дождешься сигнала завершения потока, созданного в контексте этой dll.
Следы ведут к блокировке PEB, выполняемой системой всякий раз при загрузке/выгрузке модуля.
← →
Mixal__ (2006-12-11 10:44) [43]Что подразумевалось под финализацией длл?
Я не в курсе как работает программа, подключающая длл. Деструктор вызывается когда пользователь закрывает программу.
Эксперимент показал, что WaitForSingleObject не вернуло WAIT_TIMEOUT...
← →
Сергей М. © (2006-12-11 10:53) [44]
> Что подразумевалось под финализацией длл?
Код в составе образа dll, вызываемый системой при выгрузке этой dll из АП процесса ее использующего.
Конкретно - вызов функции DllEntryPoint() с параметром PROCESS_DETACH.
> При инициализации dll создаётся поток
Соответственно контрвопрос - что здесь подразумевалось под инициализацией ?
> Деструктор вызывается когда пользователь закрывает программу
Что, сам по себе что ли вызывается ?
Т.е. ты сам не понимаешь, где в твоем коде происходит вызов этого деструктора ?
← →
Сергей М. © (2006-12-11 10:55) [45]
> Эксперимент показал, что WaitForSingleObject не вернуло
> WAIT_TIMEOUT
Значит эта Wait-функция была вызвана заведомо не при финализации, а раньше.
Страницы: 1 2 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.04 c