ICLRMetaHost::RequestRuntimeLoadedNotification メソッドICLRMetaHost::RequestRuntimeLoadedNotification Method

共通言語ランタイム (CLR) バージョンが初めて読み込まれるが、開始していないときに呼び出されることが保証されるコールバック関数を提供します。Provides a callback function that is guaranteed to be called when a common language runtime (CLR) version is first loaded, but not yet started. このメソッドは、 LockClrVersion関数。This method supersedes the LockClrVersion function.

構文Syntax

HRESULT RequestRuntimeLoadedNotification (  
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);  

パラメーターParameters

pCallbackFunction
[in]新しいランタイムが読み込まれたときに呼び出されるコールバック関数。[in] The callback function that is invoked when a new runtime has been loaded.

戻り値Return Value

このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.

HRESULTHRESULT 説明Description
S_OKS_OK メソッドは正常に完了しました。The method completed successfully.
E_POINTERE_POINTER pCallbackFunction が null です。pCallbackFunction is null.

RemarksRemarks

コールバックは、次のように動作します。The callback works in the following way:

  • 最初に、ランタイムが読み込まれる場合にのみ、コールバックが呼び出されます。The callback is invoked only when a runtime is loaded for the first time.

  • 同じランタイムの再入可能な負荷、コールバックは呼び出されません。The callback is not invoked for reentrant loads of the same runtime.

  • 再入不可能なランタイムの読み込み、コールバック関数の呼び出しがシリアル化します。For non-reentrant runtime loads, calls to the callback function are serialized.

コールバック関数では、次のプロトタイプを持ちます。The callback function has the following prototype:

typedef void (__stdcall *RuntimeLoadedCallbackFnPtr)(  
                     ICLRRuntimeInfo *pRuntimeInfo,  
                     CallbackThreadSetFnPtr pfnCallbackThreadSet,  
                     CallbackThreadUnsetFnPtr pfnCallbackThreadUnset);  

コールバック関数のプロトタイプは次のとおりです。The callback function prototypes are as follows:

  • pfnCallbackThreadSet:pfnCallbackThreadSet:

    typedef HRESULT (__stdcall *CallbackThreadSetFnPtr)();  
    
  • pfnCallbackThreadUnset:pfnCallbackThreadUnset:

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();  
    

ホストが読み込みまたは再入可能の方法で読み込まれる別のランタイムが発生する場合、pfnCallbackThreadSetpfnCallbackThreadUnsetコールバック内で次のように関数を使用する必要がありますに用意されているパラメーター。If the host intends to load or cause another runtime to be loaded in a reentrant manner, the pfnCallbackThreadSet and pfnCallbackThreadUnset parameters that are provided in the callback function must be used in the following way:

  • pfnCallbackThreadSet このような負荷が試みられる前に、実行時の負荷を引き起こす可能性のあるスレッドから呼び出す必要があります。pfnCallbackThreadSet must be called by the thread that might cause a runtime load before such a load is attempted.

  • pfnCallbackThreadUnset スレッドは実行時の負荷が発生しない場合 (および初期コールバックから戻る前に) 呼び出す必要があります。pfnCallbackThreadUnset must be called when the thread will no longer cause such a runtime load (and before returning from the initial callback).

  • pfnCallbackThreadSet pfnCallbackThreadUnsetはどちらも再入不可能な。pfnCallbackThreadSet and pfnCallbackThreadUnset are both non-reentrant.

注意

ホスト アプリケーションを呼び出してはならないpfnCallbackThreadSetpfnCallbackThreadUnsetの範囲外のpCallbackFunctionパラメーター。Host applications must not call pfnCallbackThreadSet and pfnCallbackThreadUnset outside the scope of the pCallbackFunction parameter.

必要条件Requirements

プラットフォーム:システム要件に関するページを参照してください。Platforms: See System Requirements.

ヘッダー: MetaHost.hHeader: MetaHost.h

ライブラリ: MSCorEE.dll でリソースとして含まれますLibrary: Included as a resource in MSCorEE.dll

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

関連項目See also