次の方法で共有


LockClrVersion 関数

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

この関数は、.NET Framework 4 で非推奨になっています。

構文

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

パラメーター

hostCallback
[in] 初期化時に CLR によって呼び出される関数。

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

pEndHostSetup
[in] 初期化が完了したことを CLR に通知するために、ホストによって呼び出される関数。

戻り値

このメソッドでは、WinError.h で定義されているように、次の値に加えて標準の COM エラー コードが返されます。

リターン コード 説明
S_OK メソッドは正常に完了しました。
E_INVALIDARG 1 つ以上の引数が null 値です。

解説

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

typedef HRESULT ( __stdcall *FLockClrVersionCallback ) ();  

ランタイムの初期化時には、次の手順が実行されます。

  1. ホストにより CorBindToRuntimeEx またはその他のランタイム初期化関数のいずれかが呼び出されます。 または、ホストにより COM オブジェクト アクティベーションを使用したランタイムの初期化もできます。

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

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

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

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

    • ICLRRuntimeHost::SetHostControl

    • ICLRRuntimeHost::Start

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

pBeginHostSetup から pEndHostSetup へのすべての呼び出しは、同じ論理スタックを持つ 1 つのスレッドまたはファイバーに対して行われる必要があります。 このスレッドは、hostCallback が呼び出されたときのスレッドとは異なる場合があります。

必要条件

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

ヘッダー: MSCorEE.h

ライブラリ: MSCorEE.dll

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

関連項目