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)();
如果主機想要以重新進入的方式載入或導致另一個執行階段載入,回撥函式提供的 pfnCallbackThreadSet
與 pfnCallbackThreadUnset
參數則必須以下列方式使用:
在嘗試這類載入之前,可能導致執行階段載入的執行續必須呼叫
pfnCallbackThreadSet
。當執行續不再導致此類執行階段載入 (以及在初始回撥傳回之前) 時,必須呼叫
pfnCallbackThreadUnset
。pfnCallbackThreadSet
和pfnCallbackThreadUnset
皆為非重新進入。
注意
主應用程式不得在參數範圍 pCallbackFunction
之外呼叫 pfnCallbackThreadSet
與 pfnCallbackThreadUnset
。
規格需求
平台:請參閱系統需求。
標頭:MetaHost.h
程式庫:包含作為 MSCorEE.dll 中的資源
.NET Framework版本:自 4 起可用