Metode ICorProfilerInfo4::GetCodeInfo3
Mendapatkan tingkat kode asli yang terkait dengan versi yang dikompilasi ulang oleh JIT dari fungsi yang ditentukan.
Sintaks
HRESULT GetCodeInfo3(
[in] FunctionID functionID,
[in] ReJITID reJitId,
[in] ULONG32 cCodeInfos,
[out] ULONG32 *pcCodeInfos,
[out, size_is(cCodeInfos), length_is(*pcCodeInfos)]
COR_PRF_CODE_INFO codeInfos[]);
Parameter
functionID
[in] ID dari fungsi yang terkait dengan kode asli.
reJitId
[in] Identitas dari fungsi yang dikompilasi ulang JIT.
cCodeInfos
[in] Ukuran array codeInfos
.
pcCodeInfos
[out] Penunjuk ke jumlah total struktur COR_PRF_CODE_INFO yang tersedia.
codeInfos
[out] Buffer yang disediakan pemanggil. Setelah metode kembali, metode ini berisi struktur array COR_PRF_CODE_INFO
, yang masing-masing menjelaskan blok kode asli.
Keterangan
Metode GetCodeInfo3
mirip dengan GetCodeInfo2, kecuali bahwa metode ini akan mendapatkan ID yang dikompilasi ulang JIT dari fungsi yang berisi alamat IP yang ditentukan.
Catatan
GetCodeInfo3
dapat memicu pengumpulan sampah, sedangkan GetCodeInfo2 tidak akan memicu pengumpulan sampah. Untuk informasi selengkapnya, lihat HRESULT CORPROF_E_UNSUPPORTED_CALL_SEQUENCE.
Luasnya diurutkan dalam rangka meningkatkan offset Common Intermediate Language (CIL).
Setelah GetCodeInfo3
kembali, Anda harus memverifikasi bahwa buffer codeInfos
cukup besar untuk berisi semua struktur COR_PRF_CODE_INFO. Untuk melakukannya, bandingkan nilai cCodeInfos
dengan nilai parameter cchName
. Jika cCodeInfos
dibagi dengan ukuran struktur COR_PRF_CODE_INFO adalah lebih kecil dari pcCodeInfos
, alokasikan buffer codeInfos
yang lebih besar, perbarui cCodeInfos
dengan ukuran baru yang lebih besar, dan panggil GetCodeInfo3
lagi.
Atau, Anda dapat terlebih dahulu memanggil GetCodeInfo3
dengan panjang buffer codeInfos
kosong untuk mendapatkan ukuran buffer yang benar. Anda kemudian dapat mengatur ukuran buffer codeInfos
ke nilai yang dikembalikan dalam pcCodeInfos
, dikalikan dengan ukuran struktur COR_PRF_CODE_INFO, dan memanggil GetCodeInfo3
lagi.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: CorProf.idl, CorProf.h
Pustaka: CorGuids.lib
Versi .NET Framework: Tersedia mulai dari 4.5