Bagikan melalui


Fungsi FunctionLeave3

Memberi tahu profiler bahwa kontrol sedang dikembalikan dari fungsi.

Sintaks

void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);  

Parameter

functionOrRemappedID [in] Pengidentifikasi fungsi tempat kontrol dikembalikan.

Keterangan

Fungsi panggilan balik FunctionLeave3 memberi tahu profiler karena fungsi sedang dipanggil, tetapi tidak mendukung inspeksi nilai pengembalian. Gunakan metode ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 untuk mendaftarkan implementasi fungsi ini.

Fungsi FunctionLeave3 adalah panggilan balik; Anda harus menerapkannya. Penerapan harus menggunakan atribut kelas penyimpanan __declspec(naked).

Mesin eksekusi tidak menyimpan register apa pun sebelum memanggil fungsi ini.

  • Saat masuk, Anda harus menyimpan semua register yang Anda gunakan, termasuk yang ada di floating-point unit (FPU).

  • Saat keluar, Anda harus memulihkan tumpukan dengan memunculkan semua parameter yang didorong oleh pemanggilnya.

Penerapan FunctionLeave3 tidak boleh memblokir karena akan menunda pengumpulan sampah. Penerapan tidak boleh mencoba pengumpulan sampah, karena tumpukannya mungkin tidak dalam keadaan yang ramah akan pengumpulan sampah. Jika pengumpulan sampah dicoba, runtime akan memblokir hingga FunctionLeave3 kembali.

Fungsi FunctionLeave3 tidak boleh memanggil kode terkelola atau menyebabkan alokasi memori terkelola dengan cara apa pun.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari 4

Lihat juga