gpt4 book ai didi

.net - CLR 托管。如何在 .net 4 中枚举 _AppDomains

转载 作者:行者123 更新时间:2023-12-02 22:09:59 31 4
gpt4 key购买 nike

我有用 C 编写的非托管 dll,它将被注入(inject)托管应用程序 (dotNet 4)。我将枚举 _AppDomains,在此应用程序中运行以将一些模块加载到域中。可以使用 ICorRuntimeHost 接口(interface)执行此操作。但是,ICorRuntimeHost 已弃用,并且(如 http://msdn.microsoft.com/en-en/library/ms164320%28v=vs.100%29.aspx 中所述)替换为 ICLRRuntimeHost

如何使用 ICLRRuntimeHost 执行 _AppDomain 枚举?可能吗?

最佳答案

调试接口(interface)中有ICorPublish .

您可以使用 ICorPublish::GetProcess()检索 .NET 进程的 ICorPublishProcess 实例的方法(通过传递相应的进程 ID 来标识,当然,它可以是当前进程的 ID)。

该接口(interface)提供方法ICorPublishProcess::EnumAppDomains() ,您可以使用它获取目标进程中当前应用程序域的列表,通过枚举器到 ICorPublishAppDomain 实例。每个都有 ICorPublishAppDomain.GetName()获取应用程序域名称的方法。

更新:我没试过这个,但是怎么样:

Microsoft All-In-One Code Framework 中似乎有一个至少相关的示例 (CppHostCLR)在 codeplex.com 上

关于.net - CLR 托管。如何在 .net 4 中枚举 _AppDomains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15478975/

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