關於動態庫dllmain收到通知的總結

 動態庫中dllmain函數會收到4個消息通知,分別爲

DLL_PROCESS_ATTACH

DLL_THREAD_ATTACH

DLL_THREAD_DETACH

DLL_PROCESS_DETACH


1.當進程中主線程啓動的時候,加載的動態庫會收到DLL_PROCESS_ATTACH消息,主線程退出時,收到DLL_PROCESS_DETACH

2.當動態庫加載後,進程中每一個線程啓動和關閉,都會收到DLL_THREAD_ATTACH和DLL_THREAD_DETACH消息,加載動態庫的線程發出的消息可以收到

3.可以在動態庫收到DLL_PROCESS_ATTACH消息是調用函數DisableThreadLibraryCalls(),來屏蔽線程啓動導致的DLL_THREAD_ATTACH和DLL_THREAD_DETACH的消息

4.當進程中的線程是teminateThread或者程序主線程調用ExitProcess、exit結束的,也不會收到線程消息,但進程退出消息可以收到

發佈了15 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章