Udostępnij za pośrednictwem


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 RootReferencesi 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

Zobacz też