5

来自MSDN

系统在所有加载的模块上维护每个进程的引用计数。调用 LoadLibrary 会增加引用计数。

引用计数存储在哪里?

4

2 回答 2

6

实际的 Windows 加载器位于 NTDLL.dll 的LdrLoadDll函数中。此功能未记录,其内部功能可能会在未来版本的 windows 中发生变化;只有那些有权访问 Windows 源代码的人才能确定幕后发生的事情。

但是,wine的源是可用的,你可以看到它在哪里增加了引用计数;它存储在LDR_MODULE堆结构的 LoadCount 成员中。由于这似乎不是葡萄酒内部结构,因此该结构很可能基于真实的逆向工程 windows 结构,因此 windows 可能以相同的方式存储它。但是,由于这是未记录的,因此它可能会在任何未来版本的 windows 中发生更改,甚至是较小的 windows 补丁。

于 2010-09-28T05:04:06.067 回答
0

这只是一个猜测,但它可能是 kernel32.dll 中的一个全局变量(即实现 LoadLibrary 的 DLL)。

于 2010-09-28T04:58:25.550 回答