在一个进程中加载​​了两次相同的DLL

atV*_*elu 5 com winapi activex

我有一个ActiveX控件(foo.dll),当我在IE中嵌入相同的并启动页面时.我可以看到进程资源管理器显示了从同一位置加载的两个foo.dll实例.

这会导致DLL_PROCESS_ATTACH被调用两次,并且全局数据结构被初始化两次.

有办法解决这个问题吗?Windows加载器如何工作?

谢谢,Velu

Mac*_*cke 0

一种解决方法是使用单例初始化函数来保护全局数据。

你们到底有多少个全球结构?