Fungsi RtlInstallFunctionTableCallback (winnt.h)
Menambahkan tabel fungsi dinamis ke daftar tabel fungsi dinamis.
Sintaks
NTSYSAPI BOOLEAN RtlInstallFunctionTableCallback(
[in] DWORD64 TableIdentifier,
[in] DWORD64 BaseAddress,
[in] DWORD Length,
[in] PGET_RUNTIME_FUNCTION_CALLBACK Callback,
[in] PVOID Context,
[in] PCWSTR OutOfProcessCallbackDll
);
Parameter
[in] TableIdentifier
Pengidentifikasi untuk panggilan balik tabel fungsi dinamis. Dua bit berurutan rendah harus diatur. Misalnya, BaseAddress|0x3.
[in] BaseAddress
Alamat dasar wilayah memori yang dikelola oleh fungsi panggilan balik.
[in] Length
Ukuran wilayah memori yang dikelola oleh fungsi panggilan balik, dalam byte.
[in] Callback
Penunjuk ke fungsi panggilan balik yang dipanggil untuk mengambil entri tabel fungsi untuk fungsi di wilayah memori yang ditentukan. Untuk definisi jenis PGET_RUNTIME_FUNCTION_CALLBACK , lihat WinNT.h.
[in] Context
Penunjuk ke data yang ditentukan pengguna untuk diteruskan ke fungsi panggilan balik.
[in] OutOfProcessCallbackDll
Penunjuk opsional ke string yang menentukan jalur DLL yang menyediakan entri tabel fungsi yang berada di luar proses.
Saat debugger melepas ke fungsi dalam rentang alamat yang dikelola oleh fungsi panggilan balik, debugger memuat DLL ini dan memanggil fungsi OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME , yang jenisnya POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK. Untuk informasi selengkapnya, lihat definisi item ini di WinNT.h.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE. Jika fungsi gagal, nilai yang dikembalikan adalah FALSE.
Keterangan
Tabel fungsi digunakan pada Windows 64-bit untuk menentukan cara melepas lelah atau berjalan di tumpukan. Tabel ini biasanya dihasilkan oleh pengkompilasi dan disimpan sebagai bagian dari gambar. Namun, aplikasi harus menyediakan tabel fungsi untuk kode yang dihasilkan secara dinamis. Untuk informasi selengkapnya tentang tabel fungsi, lihat panduan arsitektur untuk sistem Anda.
Fungsi ini berguna untuk kode yang sangat dinamis. Aplikasi menentukan rentang memori untuk kode yang dihasilkan, tetapi tidak perlu menghasilkan tabel sampai diperlukan oleh permintaan yang dibatalkan. Pada saat itu, sistem memanggil fungsi panggilan balik dengan Konteks dan alamat kontrol. Fungsi panggilan balik harus mengembalikan entri fungsi runtime untuk alamat yang ditentukan. Pastikan untuk menghindari pembuatan kebuntuan antara fungsi panggilan balik dan generator kode.
Untuk kode yang dihasilkan dari templat atau dihasilkan hanya sekali selama masa proses, gunakan fungsi RtlAddFunctionTable .
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | winnt.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
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