次の方法で共有


LockClrVersion 関数

プロセス内で使用する共通言語ランタイム (CLR: Common Language Runtime) のバージョンを、CLR を明示的に初期化する前にホストが決定できるようにします。

この関数は、.NET Framework Version 4 では推奨されていません。

HRESULT LockClrVersion (
    [in] FLockClrVersionCallback   hostCallback,
    [in] FLockClrVersionCallback  *pBeginHostSetup,
    [in] FLockClrVersionCallback  *pEndHostSetup
);

パラメーター

  • hostCallback
    [入力] 初期化後に CLR が呼び出す関数。

  • pBeginHostSetup
    [入力] 初期化が開始されていることを CLR に通知するためにホストが呼び出す関数。

  • pEndHostSetup
    [入力] 初期化が完了したことを CLR に通知するためにホストが呼び出す関数。

戻り値

このメソッドは、WinError.h で定義された標準の COM エラー コードの他、次の値も返します。

リターン コード

説明

S_OK

メソッドは正常に終了しました。

E_INVALIDARG

1 つ以上の引数が null です。

解説

ホストは、CLR を初期化する前に LockClrVersion を呼び出します。 LockClrVersion は 3 つのパラメーターを受け取ります。これらはすべて FLockClrVersionCallback 型のコールバックです。 この型は次のように定義されています。

typedef HRESULT ( __stdcall *FLockClrVersionCallback ) ();

ランタイムの初期化では、次の処理が行われます。

  1. ホストが、CorBindToRuntimeEx、または他のランタイム初期化関数の 1 つを呼び出します。 または、ホストは COM オブジェクトのアクティベーションを使用してランタイムを初期化することもできます。

  2. ランタイムが、hostCallback パラメーターによって指定された関数を呼び出します。

  3. その後、hostCallback によって指定された関数が、次の一連の呼び出しを行います。

    • pBeginHostSetup パラメーターによって指定された関数。

    • CorBindToRuntimeEx (または別のランタイム初期化関数)。

    • ICLRRuntimeHost::SetHostControl

    • ICLRRuntimeHost::Start

    • pEndHostSetup パラメーターによって指定された関数。

pBeginHostSetup から pEndHostSetup までのすべての呼び出しは、シングル スレッドまたはシングル ファイバーの同じ論理スタックで行う必要があります。 このスレッドは、hostCallback が呼び出されるスレッドとは別のスレッドにすることができます。

必要条件

プラットフォーム: 「.NET Framework システム要件」を参照

ヘッダー : MSCorEE.h

ライブラリ: MSCorEE.dll

.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

その他の技術情報

.NET Framework 1.1 および 2.0 のホスト グローバル静的関数