ICLRRuntimeInfo::GetInterface 方法

更新:2010 年 10 月

将 CLR 加载到当前进程中,并返回运行时接口指针,如 ICLRRuntimeHostICLRStrongNameIMetaDataDispenser

此方法取代 .NET Framework 1.1 和 2.0 承载全局静态函数一节中描述的所有 CorBindTo* 函数。

HRESULT GetInterface(
[in]  REFCLSID rclsid,
[in]  REFIID   riid,
[out, iid_is(riid), retval] LPVOID *ppUnk);

参数

  • rclsid
    [in] 组件类的 CLSID 接口。

  • riid
    [in] 请求的 rclsid 接口的 IID。

  • ppUnk
    [out] 一个指向查询的接口的指针。

返回值

此方法将返回以下特定的 HRESULT 以及用于指示方法失败的 HRESULT 错误。

HRESULT

说明

S_OK

该方法成功完成。

E_POINTER

ppUnk 为 null。

E_OUTOFMEMORY

没有足够的可用内存来处理请求。

CLR_E_SHIM_LEGACYRUNTIMEALREADYBOUND

不同的运行时已绑定到旧式 CLR 版本 2 激活策略。

备注

此方法可使得加载 CLR,但不会对其初始化。

下表显示了 rclsid 和 riid 的受支持的组合。

rclsid

riid

CLSID_CorMetaDataDispenser

IID_IMetaDataDispenser、IID_IMetaDataDispenserEx

CLSID_CorMetaDataDispenserRuntime

IID_IMetaDataDispenser、IID_IMetaDataDispenserEx

CLSID_CorRuntimeHost

IID_ICorRuntimeHost

CLSID_CLRRuntimeHost

IID_ICLRRuntimeHost

CLSID_TypeNameFactory

IID_ITypeNameFactory

CLSID_CLRStrongName

IID_ICLRStrongName

要求

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

头文件: MetaHost.h

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

**.NET Framework 版本:**4

请参见

参考

ICLRRuntimeInfo 接口

其他资源

承载接口

承载(非托管 API 参考)

修订记录

Date

修订记录

原因

2010 年 10 月

已将 CLR_E_SHIM_LEGACYRUNTIMEALREADYBOUND 添加到返回代码。

内容 Bug 修复

2010 年 9 月

更正了多个 riid 条目。

客户反馈

2010 年 6 月

更正了可与 CLSID_CLRRuntimeHost 结合使用的 riid。

内容 Bug 修复