ICorProfilerCallback::ObjectReferences, méthode

Avertit le profileur au sujet des objets en mémoire référencés par l’objet spécifié.

Syntaxe

HRESULT ObjectReferences(  
    [in]  ObjectID objectId,  
    [in]  ClassID  classId,  
    [in]  ULONG    cObjectRefs,  
    [in, size_is(cObjectRefs)] ObjectID objectRefIds[] );  

Paramètres

objectId
[in] ID de l’objet qui fait référence à des objets.

classId
[in] ID de la classe dont l’objet spécifié est une instance.

cObjectRefs
[in] Nombre d’objets référencés par l’objet spécifié (autrement dit, le nombre d’éléments du tableau objectRefIds).

objectRefIds
[in] Tableau d’ID d’objets référencés par objectId.

Notes

La méthode ObjectReferences est appelée pour chaque objet restant dans le tas après la fin d’une garbage collection. Si le profileur retourne une erreur à partir de ce rappel, les services de profilage interrompent l’appel de ce rappel jusqu’à la prochaine garbage collection.

Le rappel ObjectReferences peut être utilisé conjointement avec le rappel ICorProfilerCallback::RootReferences pour créer un graphique de références d’objet complet pour le runtime. Le Common Language Runtime (CLR) garantit que chaque référence d’objet n’est signalée qu’une seule fois par la méthode ObjectReferences.

Les ID d’objet retournés par ObjectReferences ne sont pas valides pendant le rappel lui-même, car la garbage collection peut être en train de déplacer des objets. Les profileurs ne doivent donc pas essayer d’inspecter des objets pendant un appel de ObjectReferences. Lorsque ICorProfilerCallback2::GarbageCollectionFinished est appelé, la garbage collection est terminée et l’inspection peut être effectuée en toute sécurité.

Un ClassId null indique que objectId a un type qui est déchargé.

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