次の方法で共有


ICLRRuntimeInfo::GetInterface メソッド

CLR を現在のプロセスに読み込み、ICLRRuntimeHostICLRStrongNameIMetaDataDispenserEx など、ランタイム インターフェイス ポインターを返します。

このメソッドは、「非推奨の CLR ホスト関数」セクションに記載されているあらゆる CorBindTo* 関数に取って代わります。

構文

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

パラメーター

rclsid
[入力] コクラスの CLSID インターフェイス。

riid
[入力] 要求された rclsid インターフェイスの IID。

ppUnk
[出力] クエリが実行されたインターフェイスへのポインター。

戻り値

このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。

HRESULT 説明
S_OK メソッドは正常に完了しました。
E_POINTER ppUnk が null です。
E_OUTOFMEMORY メモリが足りないため、要求を処理できません。
CLR_E_SHIM_LEGACYRUNTIMEALREADYBOUND レガシ CLR バージョン 2 アクティベーション ポリシーに別のランタイムが既にバインドされています。

解説

このメソッドを使用すると、CLR が読み込まれますが、初期化はされません。

rclsidriid でサポートされている組み合わせを次の表にまとめています。

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_CLRDebuggingLegacy IID_ICorDebug
CLSID_CLRStrongName IID_ICLRStrongName

必要条件

:システム要件」を参照してください。

ヘッダー: MetaHost.h

ライブラリ: MSCorEE.dll にリソースとして含まれます

.NET Framework のバージョン: 4 以降で使用可能

関連項目