Metode ICorProfilerInfo13::CreateHandle
Membuat handel yang membungkus objek tertentu.
Sintaks
HRESULT CreateHandle(
[in] ObjectID object,
[in] COR_PRF_HANDLE_TYPE type,
[out] ObjectHandleID* pHandle);
Parameter
object
[di] Referensi objek untuk dibungkus dengan handel.
type
[di] Jenis handel yang akan dibuat.
pHandle
[out] Penunjuk yang disediakan penelepon yang akan menunjuk ke handel yang dibuat untuk membungkus object
.
Keterangan
Berikut ini adalah penggunaan yang diharapkan tergantung pada nilai yang ditentukan COR_PRF_HANDLE_TYPE
:
COR_PRF_HANDLE_TYPE_WEAK
: Memantau apakah objek tetap dalam memori dari waktu ke waktu. Jika objek yang dibungkus telah dikumpulkan, ICorProfilerInfo13::GetObjectIDFromHandle mengembalikan nullObjectID
.COR_PRF_HANDLE_TYPE_STRONG
: Memberlakukan bahwa objek bertahan dari pengumpulan sampah bahkan jika tidak ada objek lain yang mereferensikannya.COR_PRF_HANDLE_TYPE_PINNED
: Sama seperti handel yang kuat tetapi juga memastikan bahwa objek tetap berada di alamat yang sama dalam memori selama pengumpulan sampah.
Untuk memastikan bahwa object
referensi valid, metode ini harus dipanggil dari ICorProfilerCallback
metode seperti ICorProfilerCallback::ObjectAllocated. Anda tidak dapat memanggil CreateHandle
dari pendengar asinkron EventPipe. Objek yang diterima melalui payload peristiwa mungkin telah dibuang atau dipindahkan dalam memori jika pengumpulan sampah terjadi antara waktu peristiwa dipancarkan dan ketika diterima.
Jangan lupa untuk memanggil ICorProfilerInfo13::D estroyHandle setelah handel yang dibuat tidak lagi diperlukan. Disarankan untuk memiliki kurang dari 4096 handel yang dialokasikan pada saat yang sama untuk menghindari dampak kinerja pengumpul sampah.
Persyaratan
Platform: Lihat sistem operasi yang didukung .NET.
Header: CorProf.idl, CorProf.h
Versi .NET: Tersedia sejak .NET 7.0
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk