Condividi tramite


Metodo ICorProfilerCallback::RootReferences

Notifica al profiler informazioni sui riferimenti radice dopo Garbage Collection.

Sintassi

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

Parametri

cRootRefs
[in] Numero di riferimenti nella rootRefIds matrice.

rootRefIds
[in] Matrice di ID oggetto che fanno riferimento a un oggetto statico o a un oggetto nello stack.

Commenti

Sia RootReferencesICorProfilerCallback2::RootReferences2 vengono chiamati per notificare al profiler. I profiler implementeranno normalmente uno o l'altro, ma non entrambi, perché le informazioni passate sono un superset di quello passato RootReferences2 in RootReferences.

È possibile che la rootRefIds matrice contenga un oggetto Null. Ad esempio, tutti i riferimenti a oggetti dichiarati nello stack vengono considerati radici dal Garbage Collector e verranno sempre segnalati.

Gli ID oggetto restituiti da RootReferences non sono validi durante il callback stesso, perché la Garbage Collection potrebbe trovarsi al centro dello spostamento di oggetti da indirizzi precedenti a nuovi indirizzi. Pertanto, i profiler non devono tentare di controllare gli oggetti durante una RootReferences chiamata. Quando viene chiamato ICorProfilerCallback2::GarbageCollectionFinished , tutti gli oggetti sono stati spostati nelle nuove posizioni e possono essere controllati in modo sicuro.

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