Bagikan melalui


FunctionTailcall3 Function

Memberi tahu profiler bahwa fungsi eksekusi saat ini akan melakukan panggilan ekor ke fungsi yang lain.

Sintaks

void __stdcall FunctionTailcall3 (FunctionOrRemappedID functionOrRemappedID);  

Parameter

functionOrRemappedID [in] Pengidentifikasi dari fungsi yang sedang dijalankan dan akan melakukan panggilan ekor.

Keterangan

Fungsi panggilan balik FunctionTailcall3 memberi tahu profiler ketika fungsi dipanggil. Gunakan metode ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 untuk mendaftarkan implementasi fungsi ini.

Fungsi FunctionTailcall3 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 FunctionTailcall3 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 FunctionTailcall3 kembali.

Fungsi FunctionTailcall3 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