次の方法で共有


LockClrVersion 関数

更新 : 2007 年 11 月

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

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.idl

ライブラリ : MSCorEE.dll

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

参照

その他の技術情報

ホスト グローバル静的関数