Freigeben über


RtlIsGenericTableEmpty-Funktion (ntddk.h)

Die RtlIsGenericTableEmpty Routine bestimmt, ob eine generische Tabelle leer ist.

Syntax

NTSYSAPI BOOLEAN RtlIsGenericTableEmpty(
  [in] PRTL_GENERIC_TABLE Table
);

Parameter

[in] Table

Zeiger auf die generische Tabelle (RTL_GENERIC_TABLE). Die Tabelle muss durch Aufrufen von RtlInitializeGenericTable-initialisiert worden sein.

Rückgabewert

RtlIsGenericTableEmpty gibt FALSE zurück, wenn die Tabelle mindestens ein Element enthält, TRUE andernfalls.

Bemerkungen

Standardmäßig verwendet das Betriebssystem Splay-Strukturen, um generische Tabellen zu implementieren. Unter bestimmten Umständen werden Vorgänge in einem Spielbaum den Baum tief und schmal machen und ihn sogar in eine gerade Linie verwandeln. Sehr tiefe Bäume beeinträchtigen die Leistung von Suchvorgängen. Sie können eine ausgewogenere, flachere Strukturimplementierung generischer Tabellen sicherstellen, indem Sie Adelson-Velsky/Landis (AVL)-Strukturen verwenden. Wenn Sie die generischen Tabellenroutinen so konfigurieren möchten, dass AVL-Strukturen anstelle von Splay-Strukturen in Ihrem Treiber verwendet werden, fügen Sie die folgende Define-Anweisung in eine allgemeine Headerdatei ein, bevor Sie Ntddk.heinschließen:

#define RTL_USE_AVL_TABLES 0

Wenn RTL_USE_AVL_TABLES nicht definiert ist, müssen Sie die AVL-Form der generischen Tabellenroutinen verwenden. Verwenden Sie z. B. die RtlIsGenericTableEmptyAvl Structure Routine anstelle von RtlIsGenericTableEmpty. Im Aufruf von RtlIsGenericTableEmptyAvlmuss der Aufrufer eine RTL_AVL_TABLE Tabellenstruktur statt RTL_GENERIC_TABLEübergeben.

Anrufer von RtlIsGenericTableEmpty müssen bei ≤ APC_LEVEL ausgeführt werden, wenn der vom Anrufer zugewiesene Speicher bei Table seitenfähig ist.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Diese Routine ist unter Microsoft Windows 2000 und höher verfügbar.
Zielplattform- Universal
Header- ntddk.h (enthalten Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL (siehe Abschnitt "Hinweise")

Siehe auch

RtlInitializeGenericTable