Bagikan melalui


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

RtlAddFunctionTable

RtlDeleteFunctionTable