ICLRRuntimeInfo::GetInterface 方法
更新:2010 年 10 月
将 CLR 加载到当前进程中,并返回运行时接口指针,如 ICLRRuntimeHost、ICLRStrongName 和 IMetaDataDispenser。
此方法取代 .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
请参见
参考
其他资源
修订记录
Date |
修订记录 |
原因 |
---|---|---|
2010 年 10 月 |
已将 CLR_E_SHIM_LEGACYRUNTIMEALREADYBOUND 添加到返回代码。 |
内容 Bug 修复 |
2010 年 9 月 |
更正了多个 riid 条目。 |
客户反馈 |
2010 年 6 月 |
更正了可与 CLSID_CLRRuntimeHost 结合使用的 riid。 |
内容 Bug 修复 |