FunctionLeave3-funktion
Meddelar profileraren att kontrollen returneras från en funktion.
Syntax
void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);
Parametrar
functionOrRemappedID
[i] Identifieraren för funktionen som kontrollen returneras från.
Kommentarer
Återanropsfunktionen FunctionLeave3
meddelar profileraren när funktioner anropas, men stöder inte kontroll av returvärde. Använd metoden ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 för att registrera implementeringen av den här funktionen.
Funktionen FunctionLeave3
är en motringning. Du måste implementera den. Implementeringen måste använda __declspec(naked)
attributet storage-class.
Körningsmotorn sparar inga register innan den här funktionen anropas.
Vid inmatningen måste du spara alla register som du använder, inklusive de i flyttalsenheten (FPU).
När du avslutar måste du återställa stacken genom att ta bort alla parametrar som push-överfördes av anroparen.
Implementeringen av FunctionLeave3
bör inte blockeras, eftersom det fördröjer skräpinsamlingen. Implementeringen bör inte försöka med en skräpinsamling eftersom stacken kanske inte är i ett skräpinsamlingsvänligt tillstånd. Om en skräpinsamling görs blockeras körningen tills FunctionLeave3
den returneras.
Funktionen FunctionLeave3
får inte anropa hanterad kod eller orsaka en hanterad minnesallokering på något sätt.
Krav
Plattformar: Se Systemkrav.
Huvudet: CorProf.idl
Bibliotek: CorGuids.lib
.NET Framework versioner: Tillgänglig sedan 4