Methode ICorProfilerCallback::ObjectReferences
Hiermee wordt de profiler op de hoogte gebracht van objecten in het geheugen waarnaar wordt verwezen door het opgegeven object.
Syntaxis
HRESULT ObjectReferences(
[in] ObjectID objectId,
[in] ClassID classId,
[in] ULONG cObjectRefs,
[in, size_is(cObjectRefs)] ObjectID objectRefIds[] );
Parameters
objectId
[in] De id van het object dat verwijst naar objecten.
classId
[in] De id van de klasse waarvan het opgegeven object een exemplaar is.
cObjectRefs
[in] Het aantal objecten waarnaar wordt verwezen door het opgegeven object (het aantal elementen in de objectRefIds
matrix).
objectRefIds
[in] Een matrix met id's van objecten waarnaar wordt verwezen door objectId
.
Opmerkingen
De ObjectReferences
methode wordt aangeroepen voor elk object dat in de heap blijft nadat een garbagecollection is voltooid. Als de profiler een fout van deze callback retourneert, stoppen de profileringsservices met het aanroepen van deze callback tot de volgende garbagecollection.
De ObjectReferences
callback kan worden gebruikt in combinatie met de callback ICorProfilerCallback::RootReferences om een volledige objectverwijzingsgrafiek voor de runtime te maken. De Common Language Runtime (CLR) zorgt ervoor dat elke objectverwijzing slechts eenmaal wordt gerapporteerd door de ObjectReferences
methode.
De object-id's die door ObjectReferences
worden geretourneerd, zijn niet geldig tijdens de callback zelf, omdat de garbagecollection zich mogelijk midden in het midden van bewegende objecten bevindt. Daarom mogen profilers geen objecten inspecteren tijdens een ObjectReferences
aanroep. Wanneer ICorProfilerCallback2::GarbageCollectionFinished wordt aangeroepen, is de garbagecollection voltooid en kan de inspectie veilig worden uitgevoerd.
Een null ClassId
geeft aan dat objectId
er een type is dat wordt gelost.
Vereisten
Platforms: Zie Systeemvereisten.
Header: CorProf.idl, CorProf.h
Bibliotheek: CorGuids.lib
.NET Framework versies: beschikbaar sinds 2.0