Fungsi RtlIsGenericTableEmpty (ntddk.h)
Rutinitas RtlIsGenericTableEmpty menentukan apakah tabel generik kosong.
Sintaks
NTSYSAPI BOOLEAN RtlIsGenericTableEmpty(
[in] PRTL_GENERIC_TABLE Table
);
Parameter
[in] Table
Penunjuk ke tabel generik (RTL_GENERIC_TABLE). Tabel harus diinisialisasi dengan memanggil RtlInitializeGenericTable.
Nilai kembali
RtlIsGenericTableEmpty mengembalikan FALSE jika tabel berisi satu atau beberapa elemen, TRUE jika tidak.
Keterangan
Secara default, sistem operasi menggunakan pohon splay untuk mengimplementasikan tabel generik. Dalam beberapa keadaan, operasi pada pohon splay akan membuat pohon dalam dan sempit dan bahkan mungkin mengubahnya menjadi garis lurus. Pohon yang sangat dalam menurunkan performa pencarian. Anda dapat memastikan implementasi pohon yang lebih seimbang dan dangkal dari tabel generik dengan menggunakan pohon Adelson-Velsky/Landis (AVL). Jika Anda ingin mengonfigurasi rutinitas tabel generik untuk menggunakan pohon AVL alih-alih pohon splay di driver Anda, masukkan pernyataan definisi berikut dalam file header umum sebelum menyertakan Ntddk.h:
#define RTL_USE_AVL_TABLES 0
Jika RTL_USE_AVL_TABLES tidak ditentukan, Anda harus menggunakan bentuk AVL dari rutinitas tabel generik. Misalnya, gunakan rutinitas Struktur RtlIsGenericTableEmptyAvl alih-alih RtlIsGenericTableEmpty. Dalam panggilan ke RtlIsGenericTableEmptyAvl, pemanggil harus melewati struktur tabel RTL_AVL_TABLE daripada RTL_GENERIC_TABLE.
Pemanggil RtlIsGenericTableEmpty harus berjalan pada ≤ APC_LEVEL jika memori yang dialokasikan pemanggil di Tabel dapat dipaginasi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Rutinitas ini tersedia di Microsoft Windows 2000 dan yang lebih baru. |
Target Platform | Universal |
Header | ntddk.h (termasuk Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (lihat bagian Keterangan) |