dll的一些常识

1、若显式载入DLL,则当系统第一次调用Library时,进程会将Dll映射到进程的地址空间,并触发DLL_PROCESS_ATTACH事件;
2、若DLL_PROCESS_ATTACH事件返回ture,则表示调用LoadLibrary成功,反之则失败,特别需要注意的是,在这种情况下是没有DLL_PROCESS_DETACH事件触发的;
3、在调用FreeLibrary时,会触发DllMain的DLL_PROCESS_DETACH事件,若成功,则FreeLibrary迅速返回,反之,则阻塞了进程的终止;
4、对于DLL_THREAD_ATTACH/DLL_THREAD_DETACH等,当进程创建了新的线程,且DLL已经映射到进程的地址空间时就会触发。

你可能感兴趣的:(dll的一些常识)