Delen via


FunctieLeave3, functie

Hiermee wordt aan de profiler gemeld dat het besturingselement wordt geretourneerd door een functie.

Syntaxis

void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);  

Parameters

functionOrRemappedID [in] De id van de functie waaruit het besturingselement wordt geretourneerd.

Opmerkingen

De FunctionLeave3 callback-functie meldt de profiler wanneer functies worden aangeroepen, maar biedt geen ondersteuning voor inspectie van retourwaarden. Gebruik de methode ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 om uw implementatie van deze functie te registreren.

De FunctionLeave3 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 de registers in de drijvende-kommaeenheid (FPU).

  • Bij het afsluiten moet u de stack herstellen door alle parameters uit te schakelen die door de aanroeper zijn gepusht.

De implementatie van FunctionLeave3 mag niet blokkeren, 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 FunctionLeave3 deze wordt geretourneerd.

De FunctionLeave3 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

Zie ook