ICorProfilerCallback::ObjectReferences – metoda
Upozorní profiler na objekty v paměti, na které odkazuje zadaný objekt.
Syntaxe
HRESULT ObjectReferences(
[in] ObjectID objectId,
[in] ClassID classId,
[in] ULONG cObjectRefs,
[in, size_is(cObjectRefs)] ObjectID objectRefIds[] );
Parametry
objectId
[v] ID objektu, který odkazuje na objekty.
classId
[v] ID třídy, kterou je zadaný objekt instancí.
cObjectRefs
[v] Počet objektů odkazovaných zadaným objektem (to znamená počet prvků v objectRefIds
poli).
objectRefIds
[v] Pole ID objektů, na které odkazuje objectId
.
Poznámky
Metoda ObjectReferences
je volána pro každý objekt zbývající v haldě po dokončení uvolňování paměti. Pokud profiler vrátí chybu z tohoto zpětného volání, služby profilace ukončí volání tohoto zpětného volání až do dalšího uvolňování paměti.
Zpětné ObjectReferences
volání lze použít ve spojení se zpětným voláním ICorProfilerCallback::RootReferences k vytvoření kompletního referenčního grafu objektu pro modul runtime. Modul CLR (Common Language Runtime) zajišťuje, aby každý odkaz na objekt byl metodou ObjectReferences
hlášen pouze jednou.
ID objektů vrácená nástrojem ObjectReferences
nejsou platná během samotného zpětného volání, protože uvolňování paměti může být uprostřed přesunovaných objektů. Proto se profilátory nesmí během ObjectReferences
volání pokoušet o kontrolu objektů. Když ICorProfilerCallback2::GarbageCollectionFinished je volána , uvolňování paměti je dokončeno a kontrolu lze bezpečně provést.
Hodnota null ClassId
označuje, že objectId
má typ uvolňování.
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: CorProf.idl, CorProf.h
Knihovny: CorGuids.lib
Verze rozhraní .NET Framework: K dispozici od verze 2.0