共用方式為


FunctionTailcall3 函式

更新:2010 年 10 月

向分析工具告知,目前正在執行的函式即將對其他函式執行尾端 (Tail) 呼叫。

void __stdcall FunctionTailcall3 (FunctionOrRemappedID functionOrRemappedID);

參數

  • functionOrRemappedID
    [in] 目前正在執行之函式的識別項,該函式即將執行尾端呼叫。

備註

FunctionTailcall3 回呼函式會在函式被呼叫時通知分析工具。 使用 ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 方法可登錄您對這個函式的實作。

FunctionTailcall3 函式為回呼;您必須實作此函式。 此實作必須使用 __declspec(naked) 儲存類別屬性。

執行引擎不會在呼叫這個函式之前儲存任何暫存器。

  • 進入時,您必須儲存使用的所有暫存器,包括位於浮點單位 (FPU) 的暫存器。

  • 結束時,您必須透過移除堆疊之呼叫端推入的所有參數來還原堆疊。

FunctionTailcall3 的實作不應該封鎖,因為這樣會延遲記憶體回收。 此實作不應該嘗試進行記憶體回收,因為堆疊的狀態可能不適合進行記憶體回收。 如果嘗試進行記憶體回收,執行階段將會一直封鎖到 FunctionTailcall3 傳回為止。

FunctionTailcall3 函式不應該呼叫至 Managed 程式碼內部,或以任何方式造成 Managed 記憶體配置。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**CorProf.idl

**程式庫:**CorGuids.lib

**.NET Framework 版本:**4

請參閱

參考

FunctionEnter3

FunctionLeave3

FunctionEnter3WithInfo

FunctionLeave3WithInfo

FunctionTailcall3WithInfo 函式

SetEnterLeaveFunctionHooks3

SetEnterLeaveFunctionHooks3WithInfo

SetFunctionIDMapper

SetFunctionIDMapper2

其他資源

分析全域靜態函式

變更記錄

日期

記錄

原因

2010 年 10 月

加入 __stdcall 語法。

客戶回函。