gpt4 book ai didi

winsxs - WinSxS 如何将 DLL 名称解析为 DLL 位置?

转载 作者:行者123 更新时间:2023-12-02 06:58:09 24 4
gpt4 key购买 nike

如果我将模块链接到使用 WinSxS 部署的 mydll.dll,则模块中的 PE header 将简单地引用“mydll.dll”。 Windows 在运行时如何确定,首先应该通过 WinSxS 加载此依赖项,其次它位于哪个程序集中?

最佳答案

它是通过“激活上下文”来实现的。在我看来,除非您了解激活上下文及其管理方式,否则 WinSxS 没有任何意义。

我已经在 http://omnicognate.wordpress.com/2009/10/05/winsxs/ 上发表了一篇相当长的博客文章来解释详细信息。 .

总而言之,激活上下文是 WinSxS 在运行时使用的一种结构,用于将未版本化的对象名称(例如 DLL 名称)解析为有关如何定位它们的完整信息。 WinSxS 中“ list ”的目的是构建激活上下文。如果不了解这些激活上下文的构建方式和时间以及管理方式(它们保存在线程本地堆栈上),则无法推理通过 WinSxS 加载 DLL 所涉及的步骤,因此无法进行诊断可能出现的大多数问题。

关于winsxs - WinSxS 如何将 DLL 名称解析为 DLL 位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1521326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com