如果線程已經在我的DLL加載之前創建。然後,線程在我的DLL卸載之前退出。問題是:在DllMain中,是否可以在沒有DLL_THREAD_ATTACH的情況下發生DLL_THREAD_DETACH?
我的DllMain將通知DLL_THREAD_DETACH
或沒有關於退出線程的通知?
感謝您的提前。
如果線程已經在我的DLL加載之前創建。然後,線程在我的DLL卸載之前退出。問題是:在DllMain中,是否可以在沒有DLL_THREAD_ATTACH的情況下發生DLL_THREAD_DETACH?
我的DllMain將通知DLL_THREAD_DETACH
或沒有關於退出線程的通知?
感謝您的提前。
您會收到通知。它在MSDN article明確記載爲DllMain中:
有在入口點函數被調用,即使入口點函數從不調用DLL_THREAD_ATTACH的線程終止線程的情況:
- 線程是進程中的初始線程,所以系統使用DLL_PROCESS_ATTACH值調用入口函數。
- 當調用LoadLibrary函數時線程已經在運行,所以系統從未爲它調用入口函數。
我已經在MSDN中搜索之前提問。但是,我用'DLL_THREAD_DETACH'搜索那個頁面。如果我閱讀整個備註部分。我應該找到答案而不問。對不起,我懶惰。無論如何,非常感謝你! – UltimaWeapon