Delen via


FunctionEnter3WithInfo, functie

De profiler meldt dat het besturingselement wordt doorgegeven aan een functie en biedt een ingang die kan worden doorgegeven aan de methode ICorProfilerInfo3::GetFunctionEnter3Info om de stackframe- en functieargumenten op te halen.

Syntaxis

void __stdcall FunctionEnter3WithInfo(  
               [in] FunctionIDOrClientID functionIDOrClientID,  
               [in] COR_PRF_ELT_INFO eltInfo);  

Parameters

functionIDOrClientID [in] De id van de functie waaraan het besturingselement wordt doorgegeven.

eltInfo [in] Een ondoorzichtige greep die informatie vertegenwoordigt over een bepaald stapelframe. Deze ingang is alleen geldig tijdens de callback waarnaar deze wordt doorgegeven.

Opmerkingen

De FunctionEnter3WithInfo callback-methode meldt de profiler zoals functies worden aangeroepen en stelt de profiler in staat om de methode ICorProfilerInfo3::GetFunctionEnter3Info te gebruiken om argumentwaarden te inspecteren. Voor toegang tot informatie over argumenten moet de COR_PRF_ENABLE_FUNCTION_ARGS vlag worden ingesteld. De profiler kan de methode ICorProfilerInfo::SetEventMask gebruiken om de gebeurtenisvlagken in te stellen en vervolgens de methode ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo gebruiken om uw implementatie van deze functie te registreren.

De FunctionEnter3WithInfo 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 FunctionEnter3WithInfo 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 FunctionEnter3WithInfo wordt geretourneerd.

De FunctionEnter3WithInfo 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 2.0

Zie ook