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.