Faced such a problem. There is an application using a certain functionality from DLL. The load is carried out dynamically, that is, with a bunch of
LoadLibrary -> GetProcAdress . The application functions quite normally until the computer goes into sleep mode and then goes out of it. The DLL library is automatically unloaded from the address space, oddly enough, not immediately after exiting from sleep mode, but in minutes, in 30-40 minutes. As you know, hibernation freezes all processes and, accordingly, the flows of processes before resuming the work (getting out of sleep). So, why, after these same 30-40 minutes, the system detects the DLL loaded into the address space of the application process invalid, useless and automatically unloads from memory? How can this be fixed?