Делаю следующие события:
Вопрос вот в чем, как правильно выгрузить эту 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;
}
Вроде бы выгружает корректно, но я не уверен что все делаю правильно, пожалуйста подскажите правильную последовательность событий.
Операционная система самостоятельно следит за загруженными библиотеками. И если в программе подключается библиотека , ОС загружает ее в память и предоставляет различным программа. Поэтому в программе нет необходимости выгружать библиотеку.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости