ICLRMetaHost 接口

更新:2010 年 9 月

提供了一些用于执行以下操作的方法:基于公共语言运行时 (CLR) 的版本号返回其特定版本,列出所有已安装的 CLR,列出在指定进程中加载的所有运行时,发现用于编译程序集的 CLR 版本,通过正常的运行时关闭退出进程以及查询旧 API 绑定。

方法

方法

说明

ICLRMetaHost::EnumerateInstalledRuntimes 方法

为计算机上安装的每个 CLR 版本返回包含有效 ICLRRuntimeInfo 接口指针的枚举。

ICLRMetaHost::EnumerateLoadedRuntimes 方法

返回包含在给定进程中加载的每个 CLR 的有效 ICLRRuntimeInfo 接口指针的枚举。 此方法取代 GetVersionFromProcess

ICLRMetaHost::ExitProcess 方法

尝试正常关闭所有已加载的运行时,然后终止该进程。 取代了 CorExitProcess 函数。

ICLRMetaHost::GetRuntime 方法

获取对应于特定 CLR 版本的 ICLRRuntimeInfo 接口。 此方法取代与 STARTUP_LOADER_SAFEMODE 标志一起使用的 CorBindToRuntimeEx 函数。

ICLRMetaHost::GetVersionFromFile 方法

在给定了程序集的文件路径的情况下,获取程序集的原始 .NET Framework 编译版本(存储在元数据中)。 此方法取代 GetFileVersion

ICLRMetaHost::QueryLegacyV2RuntimeBinding 方法

返回表示旧激活策略已绑定到的运行时的接口,例如通过使用 <startup> 元素配置文件项上的 useLegacyV2RuntimeActivationPolicy 特性、直接使用旧激活 API 或通过调用 ICLRRuntimeInfo::BindAsLegacyV2Runtime 方法。

ICLRMetaHost::RequestRuntimeLoadedNotification 方法

在首次加载 CLR 版本但尚未启动它时,保证对指定函数指针的回调。 此方法取代 LockClrVersion

备注

获取此接口的实例的唯一方法是调用 CLRCreateInstance 函数,如下所示:

ICLRMetaHost *pMetaHost = NULL;
HRESULT hr = CLRCreateInstance(CLSID_CLRMetaHost,
                   IID_ICLRMetaHost, (LPVOID*)&pMetaHost);

要求

**平台:**请参见 .NET Framework 系统要求

头文件: MetaHost.h

**库:**作为一项资源包含在 MSCorEE.dll 中

**.NET Framework 版本:**4

请参见

其他资源

承载接口

承载(非托管 API 参考)

修订记录

Date

修订记录

原因

2010 年 9 月

更正了代码列表中的 IID。

客户反馈