Delen via


ICorProfilerCallback2 Interface

Biedt methoden die worden gebruikt door de Common Language Runtime (CLR) om een code profiler te waarschuwen wanneer de gebeurtenissen waarop de profiler is geabonneerd zich voordoen. De ICorProfilerCallback2 interface is een uitbreiding van de ICorProfilerCallback-interface . Dat wil gezegd, het biedt nieuwe callbacks die zijn geïntroduceerd in .NET Framework versie 2.0.

Notitie

Elke implementatie van de methode moet een HRESULT retourneren met de waarde S_OK geslaagd of E_FAIL op een fout. Momenteel negeert de CLR de HRESULT die wordt geretourneerd door elke callback, met uitzondering van ICorProfilerCallback::ObjectReferences.

Methoden

Methode Beschrijving
Methode FinalizeableObjectQueued Hiermee wordt de code profiler gewaarschuwd dat een object met een finalizer in de wachtrij is geplaatst voor de finalizer-thread voor het uitvoeren van de Finalize methode.
Methode GarbageCollectionFinished Hiermee wordt aan de profiler gemeld dat een garbagecollection is voltooid en dat alle callbacks voor garbagecollection zijn uitgegeven.
Methode GarbageCollectionStarted Hiermee wordt aan de code profiler aangegeven dat er een garbagecollection is gestart.
Methode HandleCreated Hiermee wordt aan de code profiler gemeld dat er een garbagecollection-ingang is gemaakt.
Methode HandleDestroyed De code profiler meldt dat een garbagecollection ingang is vernietigd.
Methode RootReferences2 Hiermee wordt de profiler op de hoogte gesteld van hoofdverwijzingen nadat er een garbagecollection is opgetreden. Deze methode is een uitbreiding van de methode ICorProfilerCallback::RootReferences .
Methode SurvivingReferences Hiermee wordt de profiler op de hoogte gesteld van objectverwijzingen die een garbagecollection hebben overleefd.
Methode ThreadNameChanged Hiermee wordt de code profiler gewaarschuwd dat de naam van een thread is gewijzigd.

Opmerkingen

De CLR roept een methode aan in de ICorProfilerCallback interface (of ICorProfilerCallback2) om de profiler te waarschuwen wanneer een gebeurtenis plaatsvindt waarop de profiler zich had geabonneerd. Dit is de primaire callback-interface waarmee de CLR communiceert met de code profiler.

Een code profiler moet de methoden van de ICorProfilerCallback interface implementeren. Voor de .NET Framework 2.0 en latere versies moet de profiler ook de ICorProfilerCallback2 methoden implementeren. Elke implementatie van de methode moet een HRESULT retourneren met de waarde S_OK geslaagd of E_FAIL op een fout. Momenteel negeert de CLR de HRESULT die wordt geretourneerd door elke callback, met uitzondering van ICorProfilerCallback::ObjectReferences.

Een code profiler moet zich registreren in het Microsoft Windows-register, het COM-object dat de ICorProfilerCallback interfaces en ICorProfilerCallback2 implementeert. Een code profiler abonneert zich op de gebeurtenissen waarvoor deze een melding wil ontvangen door ICorProfilerInfo::SetEventMask aan te roepen. Dit wordt meestal gedaan in de profiler-implementatie van ICorProfilerCallback::Initialize. De profiler kan vervolgens een melding van de runtime ontvangen wanneer er een gebeurtenis op het punt staat op te treden of zojuist heeft plaatsgevonden in een runtimeproces dat wordt uitgevoerd.

Notitie

De profiler registreert één COM-object. Als de profiler is gericht op .NET Framework versie 1.0 of 1.1, hoeft dat COM-object alleen de methoden van ICorProfilerCallbackte implementeren. Als het is gericht op .NET Framework versie 2.0 en hoger, moet het COM-object ook de methoden van ICorProfilerCallback2implementeren.

Vereisten

Platforms: Zie Systeemvereisten.

Header: CorProf.idl, CorProf.h

Bibliotheek: CorGuids.lib

.NET Framework versies: beschikbaar sinds 2.0

Zie ook