FunctionTailcall3-funktion
Meddelar profileraren att funktionen som körs just nu är på väg att utföra ett tail-anrop till en annan funktion.
Syntax
void __stdcall FunctionTailcall3 (FunctionOrRemappedID functionOrRemappedID);
Parametrar
functionOrRemappedID
[i] Identifieraren för den funktion som körs just nu och som håller på att göra ett tail-anrop.
Kommentarer
Återanropsfunktionen FunctionTailcall3
meddelar profileraren när funktioner anropas. Använd metoden ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 för att registrera implementeringen av den här funktionen.
Funktionen FunctionTailcall3
ä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 FunctionTailcall3
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 FunctionTailcall3
den returneras.
Funktionen FunctionTailcall3
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