如果在加载我的dll之前已经创建了线程。然后,线程在卸载我的dll之前退出。问题是:
我的dllmain将被通知DLL_THREAD_DETACH或不通知退出线程?
谢谢你的提前。

最佳答案

你会收到通知的。它明确记录在dllmain的MSDN article中:
在某些情况下,即使入口点函数从未使用线程的dll-thread-attach调用,也会为终止线程调用入口点函数:
线程是进程中的初始线程,因此系统使用dll进程附加值调用入口点函数。
调用loadlibrary函数时线程已经在运行,因此系统从未为它调用入口点函数。

关于windows - 在DllMain中,是否可以在没有DLL_THREAD_ATTACH的情况下发生DLL_THREAD_DETACH?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21026984/

10-09 13:21