次の方法で共有


プロセスへの共通言語ランタイムの読み込み

更新 : 2007 年 11 月

ホストは、マネージ コードを実行する前に、共通言語ランタイムを読み込み、初期化する必要があります。プロセスではランタイムがまだ実行されていないので、すべてのホストはアンマネージ スタブで始まります。.NET Framework には、ホストがランタイムを起動するために使用できる、ホスト API と呼ばれる一連のアンマネージ API が用意されています。詳細については、「ホスト インターフェイス」を参照してください。

ホストは、ランタイムをプロセスに読み込むために、CorBindToRuntimeEx 関数を呼び出します。CorBindToRuntimeEx 関数のプロトタイプは、Windows Software Development Kit (SDK) の Include ディレクトリの Mscoree.h の中にあります。ホストは、CorBindToRuntimeEx 関数を使用して、読み込むランタイムのバージョンとガベージ コレクション、アセンブリ読み込みなどの基本的な関数の動作を制御します。ホストが設定できる値のリストを次の表に示します。

説明

同時実行ガベージ コレクション

ガベージ コレクションをバックグラウンド スレッドで行うか、ユーザー コードを実行するスレッドで行うかを指定します。

ローダーの最適化処理

アセンブリをドメイン中立で読み込むかどうかを制御します。アセンブリをドメイン中立で読み込むと、JIT コンパイル済みのアセンブリ コードと読み取り専用ランタイム データ構造体を 1 つのプロセス内のすべてのアプリケーション ドメインで共有できます。

詳細については、「アプリケーション ドメインとアセンブリ」を参照してください。

サーバーまたはワークステーション

ランタイムのワークステーション ビルド ("wks") とサーバー ビルド ("svr") のどちらを読み込むかを指定します。

バージョン

このランタイムのどのバージョンをプロセスに読み込むかを指定します。バージョン 1.0 を読み込むには、"v1.0.3705" を使用します。バージョン 1.1 を読み込むには、"v1.1.4322" を使用します。バージョン 2.0 を読み込むには、"v2.0.50727" を使用します。プロセスで読み込むことができるランタイムのバージョンは、1 つのみです。

詳細については、「side-by-side 実行」を参照してください。

CorBindToRuntimeEx 関数は、他に次の 3 つのパラメータを受け取ります。ICLRRuntimeHostを持つオブジェクトの CLSID である CLSID_CLRRuntimeHost、インターフェイスの IID である IID_ICLRRuntimeHost、および ICLRRuntimeHost ポインタを受け取る [out] パラメータです。

01918c6x.alert_note(ja-jp,VS.90).gifメモ :

バージョン 1.0 および 1.1 では、CLSID_CorRuntimeHost と IID_ICorRuntimeHost を使用して ICorRuntimeHostを取得します。

ICLRRuntimeHostは、ランタイムの起動、マネージ コードの実行、共通言語ランタイムによって実装されたマネージャをアクセスするための ICLRControlへのポインタの取得、および IHostControlを実装するホスト コントロール オブジェクトの登録に使用します。共通言語ランタイムは、IHostControlを呼び出して、ホストに実装されているマネージャを判断します。

参照

概念

マネージ ホスト コードへの遷移

参照

AppDomainSetup

CorBindToRuntimeEx 関数

ICLRRuntimeHost

ICLRControl

その他の技術情報

共通言語ランタイムのホスト