ICLRMetaHost::RequestRuntimeLoadedNotification 方法
提供回呼函式,保證當 Common Language Runtime (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。 |
需求
**平台:**請參閱 .NET Framework 系統需求。
標頭:MetaHost.h
程式庫:包含做為 MSCorEE.dll 中的資源
**.NET Framework 版本:**4