Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Memberi tahu profiler tentang referensi akar setelah pengumpulan sampah terjadi. Metode ini adalah ekstensi dari metode ICorProfilerCallback::RootReferences.
Sintaks
HRESULT RootReferences2(
[in] ULONG cRootRefs,
[in, size_is(cRootRefs)] ObjectID rootRefIds[],
[in, size_is(cRootRefs)] COR_PRF_GC_ROOT_KIND rootKinds[],
[in, size_is(cRootRefs)] COR_PRF_GC_ROOT_FLAGS rootFlags[],
[in, size_is(cRootRefs)] UINT_PTR rootIds[]);
Parameter
cRootRefs
[in] Jumlah elemen dalam array rootRefIds, rootKinds, rootFlags, dan rootIds.
rootRefIds
[in] Array ID objek, yang masing-masing mereferensikan objek statis atau objek pada tumpukan. Elemen dalam array rootKinds menyediakan informasi untuk mengklasifikasikan elemen yang sesuai dalam array rootRefIds.
rootKinds
[in] Array nilai COR_PRF_GC_ROOT_KIND yang menunjukkan jenis akar pengumpulan sampah.
rootFlags
[in] Array nilai COR_PRF_GC_ROOT_FLAGS yang menjelaskan properti akar pengumpulan sampah.
rootIds
[in] Array nilai UINT_PTR yang menunjuk ke bilangan bulat yang berisi informasi tambahan tentang akar pengumpulan sampah, tergantung pada nilai parameter rootKinds.
Jika jenis akar adalah tumpukan, ID akar adalah untuk fungsi yang berisi variabel. Jika ID akar tersebut adalah 0, fungsinya adalah fungsi yang tidak disebutkan namanya yang bersifat internal untuk CLR. Jika jenis akar adalah handel, ID akar adalah untuk handel pengumpulan sampah. Untuk jenis akar lainnya, ID adalah nilai buram dan harus diabaikan.
Keterangan
Array rootRefIds, rootKinds, rootFlags, dan rootIds adalah array paralel. Artinya, rootRefIds[i], rootKinds[i], rootFlags[i], dan rootIds[i], semuanya berkaitan dengan akar yang sama.
Baik RootReferences dan RootReferences2 dipanggil untuk memberi tahu profiler. Profiler biasanya akan menerapkan satu metode atau yang lain, tetapi tidak keduanya, karena informasi yang diteruskan di RootReferences2 adalah superset dari yang diteruskan di RootReferences.
Terdapat kemungkinan bagi entri di rootRefIds menjadi nol, yang menyiratkan bahwa referensi akar yang sesuai adalah null dan tidak merujuk ke objek pada timbunan terkelola.
ID objek yang dikembalikan oleh RootReferences2 tidak valid selama panggilan balik itu sendiri, karena pengumpulan sampah mungkin sedang memindahkan objek dari alamat lama ke alamat baru. Oleh karena itu, profiler tidak boleh mencoba memeriksa objek selama panggilan RootReferences2. Saat ICorProfilerCallback2::GarbageCollectionFinished dipanggil, semua objek telah dipindahkan ke lokasi baru mereka dan dapat diperiksa dengan aman.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: CorProf.idl, CorProf.h
Pustaka: CorGuids.lib
Versi .NET Framework: Tersedia mulai dari 2.0