ICorProfilerCallback::RootReferences — Metoda
Powiadamia profilera o informacjach o odwołaniach do katalogu głównego po usunięciu elementów bezużytecznych.
Składnia
HRESULT RootReferences(
[in] ULONG cRootRefs,
[in, size_is(cRootRefs)] ObjectID rootRefIds[] );
Parametry
cRootRefs
[in] Liczba odwołań w tablicy rootRefIds
.
rootRefIds
[in] Tablica identyfikatorów obiektów odwołujących się do obiektu statycznego lub obiektu na stosie.
Uwagi
Zarówno RootReferences
i ICorProfilerCallback2::RootReferences2 są wywoływane w celu powiadomienia profilera. Profileers zwykle implementują jeden lub drugi, ale nie oba, ponieważ przekazane RootReferences2
informacje są nadzbiorem przekazywanym w elemecie RootReferences
.
Istnieje możliwość, aby tablica rootRefIds
zawierała obiekt o wartości null. Na przykład wszystkie odwołania do obiektów zadeklarowane na stosie są traktowane jako korzenie przez moduł odśmiecający pamięci i zawsze będą zgłaszane.
Identyfikatory obiektów zwracane przez RootReferences
program są nieprawidłowe podczas samego wywołania zwrotnego, ponieważ odzyskiwanie pamięci może znajdować się w środku przenoszenia obiektów ze starych adresów do nowych adresów. W związku z tym profilerzy nie mogą próbować sprawdzać obiektów podczas wywołania RootReferences
. Po wywołaniu metody ICorProfilerCallback2::GarbageCollectionFinished wszystkie obiekty zostały przeniesione do nowych lokalizacji i można je bezpiecznie sprawdzić.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: CorProf.idl, CorProf.h
Biblioteki: CorGuids.lib
wersje .NET Framework: dostępne od wersji 2.0