FunctionLeave3-Funktion
Benachrichtigt den Profiler, dass die Steuerung von einer Funktion zurückgegeben wird.
Syntax
void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);
Parameter
functionOrRemappedID
[in] Der Bezeichner der Funktion, von der die Steuerung zurückgegeben wird.
Hinweise
Die FunctionLeave3
-Rückruffunktion benachrichtigt den Profiler, wenn Funktionen aufgerufen werden, unterstützt jedoch keine Überprüfung von Rückgabewerten. Verwenden Sie die ICorProfilerInfo3::SetEnterLeaveFunctionHooks3-Methode, um Ihre Implementierung dieser Funktion zu registrieren.
Die FunctionLeave3
-Funktion ist ein Rückruf. Sie müssen sie implementieren. Die Implementierung muss das Speicherklassenattribut __declspec(naked)
verwenden.
Die Ausführungs-Engine speichert keine Register, bevor diese Funktion aufgerufen wird.
Beim Eintritt müssen Sie alle von Ihnen verwendeten Register speichern, einschließlich der Register in der Gleitkommaeinheit (Floating-Point Unit, FPU).
Beim Beenden müssen Sie den Stapel wiederherstellen, indem Sie alle Parameter deaktivieren, die von der aufrufenden Funktion gepusht wurden.
Die Implementierung von FunctionLeave3
darf nicht blockieren, da dadurch die Garbage Collection verzögert wird. Die Implementierung darf keine Garbage Collection durchführen, da sich der Stapel möglicherweise nicht in einem für eine Garbage Collection geeigneten Zustand befindet. Wenn eine Garbage Collection durchgeführt wird, blockiert die Runtime, bis FunctionLeave3
zurückgegeben wird.
Die FunctionLeave3
-Funktion darf keinen verwalteten Code aufrufen oder in irgendeiner Weise eine verwaltete Arbeitsspeicherzuteilung verursachen.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: CorProf.idl
Bibliothek: CorGuids.lib
.NET Framework-Versionen: Seit Version 4 verfügbar