FunctieTailcall3, functie
Hiermee wordt aan de profiler gemeld dat de momenteel uitgevoerde functie op het punt staat een tail-aanroep naar een andere functie uit te voeren.
Syntaxis
void __stdcall FunctionTailcall3 (FunctionOrRemappedID functionOrRemappedID);
Parameters
functionOrRemappedID
[in] De id van de momenteel uitgevoerde functie die op het punt staat een tail-aanroep te doen.
Opmerkingen
De FunctionTailcall3
callback-functie meldt de profiler wanneer functies worden aangeroepen. Gebruik de methode ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 om uw implementatie van deze functie te registreren.
De FunctionTailcall3
functie is een callback. U moet deze implementeren. De implementatie moet het __declspec(naked)
kenmerk storage-class gebruiken.
De uitvoeringsengine slaat geen registers op voordat deze functie wordt aangeroepen.
Bij invoer moet u alle registers opslaan die u gebruikt, inclusief die in de drijvende-komma-eenheid (FPU).
Bij het afsluiten moet u de stack herstellen door alle parameters uit te schakelen die door de aanroeper zijn gepusht.
De implementatie van FunctionTailcall3
mag niet worden geblokkeerd, omdat dit de garbagecollection vertraagt. De implementatie mag geen garbagecollection uitvoeren, omdat de stack mogelijk niet geschikt is voor garbagecollection. Als een garbagecollection wordt geprobeerd, wordt de runtime geblokkeerd totdat FunctionTailcall3
wordt geretourneerd.
De FunctionTailcall3
functie mag beheerde code niet aanroepen en op geen enkele manier een toewijzing van beheerd geheugen veroorzaken.
Vereisten
Platforms: Zie Systeemvereisten.
Header: CorProf.idl
Bibliotheek: CorGuids.lib
.NET Framework versies: beschikbaar sinds 4