Делаю следующие события:
Вопрос вот в чем, как правильно выгрузить эту DLL, делаю так:
void StartThread(const HINSTANCE& hinstDLL) {
//...манипуляции с приложением..
while (условие_какое-то)
{
Sleep(1);
}
FreeLibraryAndExitThread(hinstDLL, 0);
}
BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH://Вызывается первым
StartThread(hinstDLL);
return 1;
case DLL_PROCESS_DETACH://вызывается после освобождения библиотеки
break;
case DLL_THREAD_ATTACH://вызывается при создании потока
break;
case DLL_THREAD_DETACH://вызывается после разрушения потока
break;
}
return TRUE;
}
Вроде бы выгружает корректно, но я не уверен что все делаю правильно, пожалуйста подскажите правильную последовательность событий.
Операционная система самостоятельно следит за загруженными библиотеками. И если в программе подключается библиотека , ОС загружает ее в память и предоставляет различным программа. Поэтому в программе нет необходимости выгружать библиотеку.
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Какими из операторов можно проверить присутствие флага, и удалить его если он есть, в противном случае добавить?