多次加载dll,模块名雷同
多次加载dll,模块名相同?
在网页中加载的activex dll
入口点
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
HINSTANCE hInstance打印始终不变就是同一个。。为什么?
------解决方案--------------------
系统在你加载的时候查看这个dll已经存在进程的空间了,只是给你增加下引用计数,不会更改hinstance的。
------解决方案--------------------
同一个进程多次加载,通过引用计数
------解决方案--------------------
这就是dll的好处之一。
在网页中加载的activex dll
入口点
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
HINSTANCE hInstance打印始终不变就是同一个。。为什么?
------解决方案--------------------
系统在你加载的时候查看这个dll已经存在进程的空间了,只是给你增加下引用计数,不会更改hinstance的。
------解决方案--------------------
同一个进程多次加载,通过引用计数
------解决方案--------------------
这就是dll的好处之一。