Partager via


ICorProfilerCallback::RootReferences, méthode

Fournit au profileur des informations sur les références racine après le garbage collection.

HRESULT RootReferences(
    [in] ULONG    cRootRefs,
    [in, size_is(cRootRefs)] ObjectID rootRefIds[] );

Paramètres

  • cRootRefs
    [in] Nombre de références dans le tableau rootRefIds.

  • rootRefIds
    [in] Tableau d'ID d'objet qui référencent chacun un objet statique ou un objet sur la pile.

Notes

RootReferences et ICorProfilerCallback2::RootReferences2 sont tous deux appelés pour notifier le profileur. Normalement, les profileurs implémenteront l'un ou l'autre, mais pas les deux, car les informations passées dans RootReferences2 sont un sur-ensemble de celles passées dans RootReferences.

Le tableau rootRefIds peut contenir un objet null. Par exemple, toutes les références d'objet déclarées sur la pile sont traitées comme des racines par le garbage collector et seront toujours signalées.

Les ID d'objet retournés par RootReferences ne sont pas valides pendant le rappel lui-même, car le garbage collection peut être en train de déplacer les objets des anciennes adresses vers des nouvelles. Par conséquent, les profileurs ne doivent pas essayer d'inspecter les objets pendant un appel RootReferences. Lorsque ICorProfilerCallback2::GarbageCollectionFinished est appelé, tous les objets sont supprimés de leur nouvel emplacement et peuvent être inspectés sans risque.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

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

Bibliothèque : CorGuids.lib

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

ICorProfilerCallback, interface