Sdílet prostřednictvím


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

Viz také