Я делаю DLL-инъекцию в процесс после загрузки ntdll.dll. Затем в DllMain (случай события DLL_PROCESS_ATTACH) я вызываю LdrRegisterDllNotification и подождите, когда будет загружена конкретная DLL (например, statistic.dll), функции, которые я хочу подключить. Если statistic.dll не был загружен, мне нужно выгрузить внедренную DLL из процесса.
Главный вопрос: как правильно выгрузить внедренную DLL?
Я хотел реализовать это через другой поток, который будет проверять (через некоторое время) библиотеку statistic.dll в процессе (или конкретный флаг, который я могу установить после statistic.dll loading) и выгрузить внедренную DLL, если она не была загружена. Но насколько я знаю, мы не можем создать поток в DllMain.