Bagikan melalui


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)

Lihat juga

RtlInitializeGenericTable