【问题标题】:LoadLibrary Reference CountingLoadLibrary 引用计数
【发布时间】:2010-09-28 04:49:44
【问题描述】:

来自MSDN

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

引用计数存储在哪里?

【问题讨论】:

    标签: windows shared-libraries internals


    【解决方案1】:

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

    不过wine的源码是有的,可以看where it increments the reference count;它存储在 LDR_MODULE 堆结构的 LoadCount 成员中。由于这似乎不是葡萄酒内部结构,因此该结构很可能是基于真实的、逆向工程的 windows 结构,因此 windows 可能以相同的方式存储它。然而,由于这没有被记录在案,它可能会在任何未来版本的 Windows 中发生变化,甚至是次要的 Windows 补丁。

    【讨论】:

    • 完美,正是我想要的。谢谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多