DLL模块的显式载入和符号链接

显示地载入DLL模块

  • HMOUDLE LoadLibrary(PCTSTR psz);
  • HMOUDLE LoadLibraryEx(PCTSTR psz);

显示地卸载DLL模块

  • FreeLibaray;
  • FreeLibarayAndExitThread;
线程可以通过调用GetModuleHandle函数来检测一个DLL是否已经被映射到了进程的地址空间中
同样可以通过GetModuleFileName得到该DLL的全路径

显式地链接到导出符号

  • GetProcAddress
    FARPROC fpn=GetProcAddress(hInstDll,"someFuncInDll")
    FARPROC fpn = GetProcAddress(hInstDll,MAKEINTRESOURCE(2))

typedef void (CALLBACK *PFN_DUMPMODULE) (HMODULE hModule);
PFN_DUMPMODULE pfnDumpModule = (PFN_DUMPMODULE)GetProcAddress(hDll,"DumpModule");
if (pfnDumpModule != NULL){
pfnDumpModule(hDll)
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容