Condividi tramite


Interfaccia ICorProfilerCallback2

Fornisce metodi usati da Common Language Runtime (CLR) per notificare a un profiler di codice quando si verificano gli eventi a cui si è sottoscritto il profiler. L'interfaccia ICorProfilerCallback2 è un'estensione dell'interfaccia ICorProfilerCallback . Di conseguenza, fornisce nuovi callback introdotti in .NET Framework versione 2.0.

Nota

Ogni implementazione del metodo deve restituire un valore HRESULT con valore di S_OK in caso di esito positivo o E_FAIL in caso di errore. Attualmente, CLR ignora il valore HRESULT restituito da ogni callback tranne ICorProfilerCallback::ObjectReferences.

Metodi

Metodo Descrizione
Metodo FinalizeableObjectQueued Notifica al profiler di codice che un oggetto con un finalizzatore è stato accodato al thread del finalizzatore per l'esecuzione del Finalize relativo metodo.
Metodo GarbageCollectionFinished Notifica al profiler che un garbage collection è stato completato e tutti i callback di Garbage Collection sono stati rilasciati per esso.
Metodo GarbageCollectionStarted Notifica al profiler di codice che è stato avviato un Garbage Collection.
Metodo HandleCreated Notifica al profiler di codice che è stato creato un handle di Garbage Collection.
Metodo HandleDestroyed Notifica al profiler di codice che è stato eliminato un handle di Garbage Collection.
Metodo RootReferences2 Notifica al profiler informazioni sui riferimenti radice dopo che si è verificato un Garbage Collection. Questo metodo è un'estensione del metodo ICorProfilerCallback::RootReferences .
Metodo SurvivingReferences Notifica al profiler informazioni sui riferimenti a oggetti sopravvissuti a una Garbage Collection.
Metodo ThreadNameChanged Notifica al profiler di codice che il nome di un thread è cambiato.

Commenti

CLR chiama un metodo nell'interfaccia ICorProfilerCallback (o ICorProfilerCallback2) per notificare al profiler quando si verifica un evento, a cui il profiler aveva sottoscritto. Si tratta dell'interfaccia di callback primaria tramite la quale CLR comunica con il profiler del codice.

Un profiler di codice deve implementare i metodi dell'interfaccia ICorProfilerCallback . Per .NET Framework 2.0 e versioni successive, il profiler deve anche implementare i ICorProfilerCallback2 metodi. Ogni implementazione del metodo deve restituire un valore HRESULT con valore di S_OK in caso di esito positivo o E_FAIL in caso di errore. Attualmente, CLR ignora il valore HRESULT restituito da ogni callback tranne ICorProfilerCallback::ObjectReferences.

Un profiler di codice deve registrarsi nel Registro di sistema di Microsoft Windows, l'oggetto COM che implementa le ICorProfilerCallback interfacce e ICorProfilerCallback2 . Un profiler di codice sottoscrive gli eventi per i quali vuole ricevere una notifica chiamando ICorProfilerInfo::SetEventMask. Questa operazione viene in genere eseguita nell'implementazione del profiler di ICorProfilerCallback::Initialize. Il profiler è quindi in grado di ricevere una notifica dal runtime quando un evento sta per verificarsi o si è appena verificato in un processo di runtime in esecuzione.

Nota

Il profiler registra un singolo oggetto COM. Se il profiler è destinato a .NET Framework versione 1.0 o 1.1, l'oggetto COM deve implementare solo i metodi di ICorProfilerCallback. Se è destinato a .NET Framework versione 2.0 e successiva, l'oggetto COM deve anche implementare i metodi di ICorProfilerCallback2.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile da 2.0

Vedi anche