Megosztás a következőn keresztül:


ICorProfilerCallback2::RootReferences2 metódus

A szemétgyűjtés után értesíti a profilozót a gyökérhivatkozásokról. Ez a metódus az ICorProfilerCallback::RootReferences metódus kiterjesztése.

Szintaxis

HRESULT RootReferences2(  
    [in] ULONG  cRootRefs,  
    [in, size_is(cRootRefs)] ObjectID rootRefIds[],  
    [in, size_is(cRootRefs)] COR_PRF_GC_ROOT_KIND rootKinds[],  
    [in, size_is(cRootRefs)] COR_PRF_GC_ROOT_FLAGS rootFlags[],  
    [in, size_is(cRootRefs)] UINT_PTR rootIds[]);  

Paraméterek

cRootRefs
[in] A , rootKinds, rootFlagsés rootIds tömbök elemeinek rootRefIdsszáma.

rootRefIds
[in] Objektumazonosítók tömbje, amelyek mindegyike egy statikus objektumra vagy egy objektumra hivatkozik a veremen. A tömb elemei információt nyújtanak a rootKinds tömb megfelelő elemeinek besorolásához rootRefIds .

rootKinds
[in] A szemétgyűjtés gyökerének típusát jelző COR_PRF_GC_ROOT_KIND értékek tömbje.

rootFlags
[in] A szemétgyűjtési gyökerének tulajdonságait leíró COR_PRF_GC_ROOT_FLAGS értékek tömbje.

rootIds
[in] A UINT_PTR értékek tömbje, amely egy egész számra mutat, amely a paraméter értékétől függően további információkat tartalmaz a szemétgyűjtés gyökeréről rootKinds .

Ha a gyökér típusa verem, a gyökérazonosító a változót tartalmazó függvényhez tartozik. Ha a gyökérazonosító 0, akkor a függvény egy névtelen függvény, amely a CLR belső része. Ha a gyökér típusa leíró, a gyökérazonosító a szemétgyűjtési leíróhoz tartozik. A többi gyökértípus esetében az azonosító átlátszatlan érték, ezért figyelmen kívül kell hagyni.

Megjegyzések

A rootRefIds, rootKinds, rootFlagsés rootIds tömbök párhuzamos tömbök. Vagyis, rootRefIds[i], rootKinds[i], rootFlags[i], és rootIds[i] minden ugyanazzal a gyökerével foglalkozik.

Mindkettőt RootReferencesRootReferences2 meghívja, hogy értesítse a profilozót. A profilkészítők általában az egyik metódust vagy a másikat implementálják, de mindkettőt nem, mert a megadott RootReferences2 információk az átadott RootReferencesadatok szuperhalmaza.

Lehetséges, hogy a bejegyzések rootRefIds értéke nulla, ami azt jelenti, hogy a megfelelő gyökérhivatkozás null értékű, és nem hivatkozik egy objektumra a felügyelt tárban.

Az által RootReferences2 visszaadott objektumazonosítók nem érvényesek a visszahívás során, mivel a szemétgyűjtés az objektumok régi címekről új címekre való áthelyezésének közepén lehet. Ezért a profilkészítők nem kísérelhet meg objektumokat megvizsgálni egy RootReferences2 hívás során. Az ICorProfilerCallback2::GarbageCollectionFinished hívásakor az összes objektum átkerült az új helyre, és biztonságosan megvizsgálható.

Követelmények

Platformok: Lásd: Rendszerkövetelmények.

Fejléc: CorProf.idl, CorProf.h

Könyvtár: CorGuids.lib

.NET-keretrendszer verziók: 2.0 óta érhető el

Lásd még