有没有任何方法可以从c++库中获取ICLRMetaHost



基本上是问题所陈述的内容。我有一个运行的.net exe,然后加载我的库(在c++中)。有什么方法可以获得mscoree在启动.net exe时加载的ICLRMetaHost或类似接口吗?我主要想这样做,这样我就可以从我的本地库中访问gc和内存相关的设置,用于调试目的。

使用mono-hostingapi指出类似实现的额外点数。

我不明白为什么从CLR加载的DLL中获取ICLRMetaHost的正常方式不起作用。。。

  1. mscoree.dll上的LoadLibrary
  2. 查找CLRCreateInstance的地址
  3. 调用CLRCreateInstance,如下所示以获得CCD_ 4
  4. 调用EnumerateLoadedRuntimes并希望只有一个加载
  5. 从您枚举的运行时信息中获取ICLRRuntimeHost
  6. ICLRRuntimeHost获得ICLRControl
  7. ICLRControl获得ICLRGCManager

相关内容

  • 没有找到相关文章

最新更新