首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinSxS如何将DLL名称解析为DLL位置?

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

Stack Overflow用户
提问于 2009-10-05 17:21:49
回答 1查看 2.1K关注 0票数 6

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

EN

回答 1

Stack Overflow用户

发布于 2009-10-05 17:25:01

它通过“激活上下文”来做到这一点。在我看来,在您了解激活上下文以及它是如何管理的之前,WinSxS没有任何意义。

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

总而言之,激活上下文是WinSxS在运行时用来解析未版本化对象名称的结构(例如,DLL名称),以获取有关如何查找它们的完整信息。WinSxS中“清单”的目的是构造激活上下文。如果不了解这些激活上下文是如何以及何时构造的,以及它们是如何管理的(它们保存在线程本地堆栈上),就不可能通过WinSxS加载动态链接库所涉及的步骤进行推理,因此也不可能诊断大多数可能出现的问题。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1521326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档