共用方式為


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

請參閱

參考

ICLRMetaHost 介面

其他資源

裝載 (Unmanaged API 參考)