ICLRMetaHost 接口
提供一些方法,这些方法基于公共语言运行时 (CLR) 的版本号返回特定版本的公共语言运行时,列出所有已安装的 CLR,列出在指定进程中加载的所有运行时,发现编译程序集所用的 CLR 版本,退出使用干净运行时关闭的进程,以及查询旧的 API 绑定。
方法
方法 | 说明 |
---|---|
EnumerateInstalledRuntimes 方法 | 返回一个枚举,该枚举包含计算机上安装的每个 CLR 版本的有效 ICLRRuntimeInfo 接口指针。 |
EnumerateLoadedRuntimes 方法 | 返回一个枚举,该枚举包含在指定进程中加载的每个 CLR 的有效 ICLRRuntimeInfo 接口指针。 此方法可取代 GetVersionFromProcess。 |
ExitProcess 方法 | 尝试正常关闭所有加载的运行时,然后终止进程。 取代 CorExitProcess 函数。 |
GetRuntime 方法 | 获取与特定 CLR 版本相对应的 ICLRRuntimeInfo 接口。 此方法取代了与 STARTUP_LOADER_SAFEMODE 标记一同使用的 CorBindToRuntimeEx 函数。 |
GetVersionFromFile 方法 | 获取程序集的原始 .NET Framework 编译版本(存储在元数据中)并指定其文件路径。 此方法可取得 GetFileVersion。 |
QueryLegacyV2RuntimeBinding 方法 | 返回表示已绑定旧式激活策略的运行时的接口,例如通过使用 <startup> 元素配置文件项上的 useLegacyV2RuntimeActivationPolicy 属性、直接使用旧式激活 API 或通过调用 ICLRRuntimeInfo::BindAsLegacyV2Runtime 方法。 |
RequestRuntimeLoadedNotification 方法 | 当 CLR 版本首次加载但尚未启动时,保证对指定函数指针的回调。 此方法可取代 LockClrVersion |
注解
获取此接口实例的唯一方法是调用 CLRCreateInstance 函数,如下所示:
ICLRMetaHost *pMetaHost = NULL;
HRESULT hr = CLRCreateInstance(CLSID_CLRMetaHost,
IID_ICLRMetaHost, (LPVOID*)&pMetaHost);
要求
平台:请参阅系统要求。
标头:MetaHost.h
库:作为资源包含在 MSCorEE.dll 中
.NET Framework 版本:自 4 起可用