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)
}

你可能感兴趣的:(DLL模块的显式载入和符号链接)