Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Как вызвать FreeLibraryAndExitThread из VC++? 29.06.01 03:14 Число просмотров: 1145
Автор: Бяша <Biasha> Статус: Member
|
> А более конкретно ? Короче как мне получить гарантию, что всё, что должно сделаться между _endthread и ExitThread сделается, и при этом выгрузить библиотеку и завершить поток в ней.
> Дык ее обычно просто вызывают и все ... ее смысл в том что > если DLL > создает собственный поток то в этом потоке вызов Subj-eвой > функции > выгружает эту DLL и корректно завершает сей поток ... Есть у меня поток, код которого в dll причём только этот поток может выгрузить dll. То есть FreeLibraryAndExitThread - именно то, что мне нужно, но я боюсь, что если я её просто вызову, то останется не освобождённой всё то, что было выделено рантайм библиотеками сишными до входа в процедуру моего потока.
> PS: Обычно чего то почистить руками можно в > DllMain() > в секции > case: DLL_PROCESS_DETACH > или > case: DLL_THREAD_DETACH > которая вызывается потоком вызвавшим либо FreeLibrary > либо ExitProcess Но как это сделать? Я же не знаю что чистить - это не моё, а vc++'ное.
Да мне и незачем там этим заниматься, кстати, - я и так могу вписать всё до FreeLibraryAndExitThread, но не знаю что, поскольку это не моя задача очищать не моё.
Поэтому мне нужен библиотечный аналог для этой функции. Такой же, как _endthread для ExitThread. Или может есть другой способ: например функция, выполняющая _endthread, но не вызывающая ExitThread - думаю такой нет.
|
|
|