共用方式為


ICLRMetaHost::RequestRuntimeLoadedNotification 方法

提供回撥函式,保證會在第一次載入通用語言執行平台 (CLR) 版本但尚未啟動時呼叫。 此方法取代 LockClrVersion 語言函式。

語法

HRESULT RequestRuntimeLoadedNotification (  
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);  

參數

pCallbackFunction
[in] 載入新執行階段時所叫用的回撥函式。

傳回值

這個方法會傳回下列特定的 HRESULT,以及表示方法失敗的 HRESULT 錯誤。

HRESULT 描述
S_OK 已成功完成命令。
E_POINTER pCallbackFunction 為 null。

備註

回撥的運作方式如下:

  • 只有在第一次載入執行階段時,才會叫用回撥。

  • 針對相同執行階段的重新進入載入,不會叫用回撥。

  • 針對非重新進入執行階段載入,會序列化回撥函式的呼叫。

回撥函式具有下列原型:

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

回撥函式原型如下所示:

  • pfnCallbackThreadSet:

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

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();  
    

如果主機想要以重新進入的方式載入或導致另一個執行階段載入,回撥函式提供的 pfnCallbackThreadSetpfnCallbackThreadUnset 參數則必須以下列方式使用:

  • 在嘗試這類載入之前,可能導致執行階段載入的執行續必須呼叫 pfnCallbackThreadSet

  • 當執行續不再導致此類執行階段載入 (以及在初始回撥傳回之前) 時,必須呼叫 pfnCallbackThreadUnset

  • pfnCallbackThreadSetpfnCallbackThreadUnset 皆為非重新進入。

注意

主應用程式不得在參數範圍 pCallbackFunction 之外呼叫 pfnCallbackThreadSetpfnCallbackThreadUnset

規格需求

平台:請參閱系統需求

標頭:MetaHost.h

程式庫:包含作為 MSCorEE.dll 中的資源

.NET Framework版本:自 4 起可用

另請參閱