Freigeben über


FunctionTailcall3-Funktion

Benachrichtigt den Profiler, dass die zurzeit ausgeführte Funktion im Begriff ist, einen Endeaufruf einer anderen Funktion durchzuführen.

void __stdcall FunctionTailcall3 (FunctionOrRemappedID functionOrRemappedID);

Parameter

  • functionOrRemappedID
    [in] Der Bezeichner der aktuell ausgeführten Funktion, die im Begriff ist, einen Endeaufruf durchzuführen.

Hinweise

Die FunctionTailcall3-Rückruffunktion benachrichtigt den Profiler, wenn Funktionen aufgerufen werden. Verwenden Sie die ICorProfilerInfo3::SetEnterLeaveFunctionHooks3-Methode, um die Implementierung dieser Funktion zu registrieren.

Die FunctionTailcall3-Funktion ist ein Rückruf; Sie müssen sie implementieren. Die Implementierung muss das __declspec(naked)-Speicherklassenattribut verwenden.

Das Ausführungsmodul speichert vor dem Aufrufen dieser Funktion keine Register.

  • Beim Eintritt müssen Sie alle verwendeten Register speichern, auch die Register in der Gleitkommaeinheit (Floating-Point Unit, FPU).

  • Beim Beenden müssen Sie den Stapel wiederherstellen, indem Sie alle Parameter, die vom Aufrufer verschoben wurden, wieder abholen.

Die Implementierung von FunctionTailcall3 sollte nicht blockieren, da dies die Garbage Collection verzögert. Die Implementierung sollte nicht versuchen, eine Garbage Collection durchzuführen, weil sich der Stapel möglicherweise nicht in einem für die Garbage Collection geeigneten Zustand befindet. Wenn eine Garbage Collection versucht wird, ist die Laufzeit blockiert, bis FunctionTailcall3 zurückkehrt.

Die FunctionTailcall3-Funktion darf keinen verwalteten Code aufrufen und auf keine Weise verwalteten Speicher belegen.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorProf.idl

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 4

Siehe auch

Referenz

FunctionEnter3

FunctionLeave3

FunctionEnter3WithInfo

FunctionLeave3WithInfo

FunctionTailcall3WithInfo-Funktion

SetEnterLeaveFunctionHooks3

SetEnterLeaveFunctionHooks3WithInfo

SetFunctionIDMapper

SetFunctionIDMapper2

Weitere Ressourcen

Profilerstellung für globale statische Funktionen

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Oktober 2010

__stdcall zur Syntax hinzugefügt.

Kundenfeedback.