Bagikan melalui


Metode ICorProfilerCallback::ObjectReferences

Memberi tahu profiler tentang objek dalam memori yang sedang dirujuk oleh objek yang ditentukan.

Sintaks

HRESULT ObjectReferences(  
    [in]  ObjectID objectId,  
    [in]  ClassID  classId,  
    [in]  ULONG    cObjectRefs,  
    [in, size_is(cObjectRefs)] ObjectID objectRefIds[] );  

Parameter

objectId
[in] ID objek yang mereferensikan objek.

classId
[in] ID kelas tempat objek yang ditentukan adalah instans.

cObjectRefs
[in] Jumlah objek yang direferensikan oleh objek yang ditentukan (yaitu, jumlah elemen dalam array objectRefIds).

objectRefIds
[in] Array ID objek yang sedang direferensikan oleh objectId.

Keterangan

Metode ObjectReferences ini dipanggil untuk setiap objek yang tersisa di tumpukan setelah pengumpulan sampah selesai. Jika profiler mengembalikan kesalahan dari panggilan balik ini, layanan pembuatan profil akan menghentikan panggilan balik ini hingga pengumpulan sampah berikutnya.

Panggilan balik ObjectReferences dapat digunakan bersama dengan panggilan balik ICorProfilerCallback::RootReferences untuk membuat grafik referensi objek lengkap untuk waktu proses. Runtime bahasa umum (CLR) memastikan bahwa setiap referensi objek dilaporkan hanya sekali dengan metode ObjectReferences.

ID objek yang dikembalikan oleh ObjectReferences tidak valid selama panggilan balik itu sendiri, karena pengumpulan sampah mungkin berada di tengah-tengah objek yang bergerak. Oleh karena itu, profiler tidak boleh mencoba memeriksa objek selama panggilan ObjectReferences. Ketika ICorProfilerCallback2::GarbageCollectionFinished dipanggil, pengumpulan sampah selesai dan pemeriksaan dapat dilakukan dengan aman.

Sebuah ClassId null menunjukkan bahwa objectId memiliki jenis yang sedang dibongkar.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl, CorProf.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari 2.0

Lihat juga