DLL高级技巧

本文详细介绍了DLL的高级技巧,包括动态加载DLL文件LoadLibraryEx的各种参数,DLL的加载与卸载过程,DllMain的入口函数及其作用,DLL_THREAD_ATTACH和DLL_THREAD_DETACH的情况,以及延迟加载DLL的限制。内容深入探讨了DLL在进程中的生命周期和管理方法。
摘要由CSDN通过智能技术生成

第二十章 DLL高级技巧

1.概览

 1.1动态加载DLL文件 LoadLibraryEx

                HMODULE LoadLibraryEx(

PCTSTR pszDLLPathName,

HANDLE hFile,

DWORD dwFlags);

              返回DLL加载到进程空间原首地址。

              dwFlags 可以有以下几个值

              (1) DONT_RESOLVE_DLL_REFERENCES

                              建议永远不要使有这个值,它的存在仅仅是为了向后兼容、

                              更多内容请访问:http://blogs.msdn.com/oldnewthing/archive/2005/02/14/372266.aspx

              (2) LOAD_LIBRARY_AS_DATAFILE

                              把要加载的DLL文件以数据文件的形式加载到进程中。

                              GetModuleHandleGetProcAddress返回NULL

              (3) LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE

                              与前者相同,不同的时独占打开,禁止其它进程访问和修改该DLL中的内容。

              (4) LOAD_LIBRARY_AS_IMAGE_RESOURCE

                              不修改DLL中的RVA,以image的形式加载到进程中。常与LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE一起使用。

              (5) LOAD_WITH_ALTERED_SEARCH_PATH

                              修改DLL的加载路径

  1.2 D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值