ICorProfilerCallback::ObjectReferences-Methode
Aktualisiert: November 2007
Benachrichtigt den Profiler über Objekte im Speicher, auf die vom angegebenen Objekt verwiesen wird.
HRESULT ObjectReferences(
[in] ObjectID objectId,
[in] ClassID classId,
[in] ULONG cObjectRefs,
[in, size_is(cObjectRefs)] ObjectID objectRefIds[] );
Parameter
objectId
[in] Die ID des Objekts, das auf Objekte verweist.classId
[in] Die ID der Klasse, der das angegebene Objekt als Instanz angehört.cObjectRefs
[in] Die Anzahl von Objekten, auf die vom angegebenen Objekt verwiesen wird (d. h. die Anzahl von Elementen im objectRefIds-Array).objectRefIds
[in] Ein Array der IDs von Objekten, auf die von objectId verwiesen wird.
Hinweise
Die ObjectReferences-Methode wird für jedes Objekt aufgerufen, das nach Abschluss der Garbage Collection im Heap verbleibt. Wenn der Profiler für diesen Rückruf einen Fehler zurückgibt, rufen die Profilerstellungsdienste diesen Rückruf bis zur nächsten Garbage Collection nicht mehr auf.
Der ObjectReferences-Rückruf kann gemeinsam mit dem ICorProfilerCallback::RootReferences-Rückruf verwendet werden, um ein vollständiges Objektverweisdiagramm für die Laufzeit zu erstellen. Die Common Language Runtime (CLR) stellt sicher, dass jeder Objektverweis von der ObjectReferences-Methode nur ein Mal gemeldet wird.
Die von ObjectReferences zurückgegebenen Objekt-IDs sind während des Rückrufs selbst nicht gültig, weil die Garbage Collection zu diesem Zeitpunkt unter Umständen noch Objekte verschiebt. Deshalb dürfen Profiler nicht versuchen, Objekte während eines ObjectReferences-Aufrufs zu überprüfen. Wenn ICorProfilerCallback2::GarbageCollectionFinished aufgerufen wird, ist die Garbage Collection abgeschlossen, und die Überprüfung kann sicher durchgeführt werden.
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: CorProf.idl
Bibliothek: CorGuids.lib
.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0