Freigeben über


ICorProfilerCallback::RootReferences-Methode

Sendet nach einer Garbage Collection eine Benachrichtigung mit Informationen zu Stammverweisen an den Profiler.

Syntax

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

Parameter

cRootRefs
[in] Die Anzahl von Verweisen im rootRefIds-Array.

rootRefIds
[in] Ein Array von Objekt-IDs, die entweder auf ein statisches Objekt oder auf ein Objekt im Stapel verweisen.

Bemerkungen

Sowohl RootReferences als auch ICorProfilerCallback2::RootReferences2 wird aufgerufen, um den Profiler zu benachrichtigen. Profiler implementieren normalerweise eine der Optionen, aber nicht beide, da es sich bei den in RootReferences2 übergebenen Informationen um eine Obermenge der in RootReferences übergebenen Informationen handelt.

Es ist möglich, dass das rootRefIds-Array ein NULL-Objekt enthält. Beispielsweise werden alle im Stapel deklarierten Objektverweise vom Garbage Collector als Stämme behandelt und immer gemeldet.

Die von RootReferences zurückgegebenen Objekt-IDs sind während des eigentlichen Rückrufs nicht gültig, da die Garbage Collection zu diesem Zeitpunkt ggf. noch Objekte von alten Adressen an neue Adressen verschiebt. Deshalb dürfen Profiler nicht versuchen, Objekte während eines RootReferences-Aufrufs zu überprüfen. Wenn ICorProfilerCallback2::GarbageCollectionFinished aufgerufen wird, wurden alle Objekte an ihre neuen Speicherorte verschoben und können problemlos überprüft werden.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit 2.0 verfügbar.

Siehe auch