ICorProfilerCallback2, interface

Fournit des méthodes qui sont utilisées par le CLR (Common Language Runtime) pour envoyer des notifications à un profileur de code quand les événements auxquels le profileur s’est abonné se produisent. L’interface ICorProfilerCallback2 est une extension de l’interface ICorProfilerCallback. Autrement dit, il fournit de nouveaux rappels introduits dans .NET Framework version 2.0.

Notes

Chaque implémentation de méthode doit retourner un HRESULT dont la valeur est S_OK en cas de réussite ou E_FAIL en cas d’échec. Actuellement, le CLR ignore le HRESULT retourné par chaque rappel, sauf ICorProfilerCallback::ObjectReferences.

Méthodes

Méthode Description
FinalizeableObjectQueued, méthode Avertit le profileur de code qu’un objet avec un finaliseur a été mis en file d’attente du thread finaliseur pour l’exécution de sa méthode Finalize.
GarbageCollectionFinished, méthode Avertit le profileur qu’une opération de garbage collection est terminée et que tous les rappels de garbage collection ont été émis pour celui-ci.
GarbageCollectionStarted, méthode Avertit le profileur de code que l’opération de garbage collection a démarré.
HandleCreated, méthode Avertit le profileur de code qu’un descripteur de garbage collection a été créé.
HandleDestroyed, méthode Avertit le profileur de code qu’un descripteur de garbage collection a été détruit.
RootReferences2, méthode Avertit le profileur au sujet des références racines après une opération de garbage collection. Cette méthode est une extension de la méthode ICorProfilerCallback::RootReferences.
SurvivingReferences, méthode Avertit le profileur au sujet de références d’objet qui ont survécu à une opération de garbage collection.
ThreadNameChanged, méthode Avertit le profileur de code que le nom d’un thread a changé.

Notes

Le CLR appelle une méthode dans l’interface ICorProfilerCallback (ou ICorProfilerCallback2) pour avertir le profileur lorsqu’un événement auquel le profileur s’est abonné se produit. Il s’agit de l’interface de rappel principale via laquelle le CLR communique avec le profileur de code.

Un profileur de code doit implémenter les méthodes de l’interface ICorProfilerCallback. Pour .NET Framework version 2.0 ou ultérieure, le profileur doit également implémenter les méthodes ICorProfilerCallback2. Chaque implémentation de méthode doit retourner un HRESULT dont la valeur est S_OK en cas de réussite ou E_FAIL en cas d’échec. Actuellement, le CLR ignore le HRESULT retourné par chaque rappel, sauf ICorProfilerCallback::ObjectReferences.

Dans le Registre Microsoft Windows, un profileur de code doit inscrire son objet COM (Component Object Model) qui implémente les interfaces ICorProfilerCallback et ICorProfilerCallback2. Un profileur de code s’abonne aux événements pour lesquels il souhaite recevoir une notification en appelant ICorProfilerInfo::SetEventMask. Cette opération est généralement effectuée dans l’implémentation du profileur iCorProfilerCallback::Initialize. Le profileur est alors en mesure de recevoir une notification du runtime lorsqu’un événement est sur le point de se produire ou s’est produit dans un processus de runtime en cours d’exécution.

Notes

Le profileur inscrit un seul objet COM. Si le profileur cible .NET Framework version 1.0 ou 1.1, cet objet COM doit uniquement implémenter les méthodes de ICorProfilerCallback. S’il cible .NET Framework version 2.0 et ultérieures, l’objet COM doit également implémenter les méthodes de ICorProfilerCallback2.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorProf.idl, CorProf.h

Bibliothèque : CorGuids.lib

Versions de .NET Framework : Disponible depuis la version 2.0

Voir aussi