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 ein oder mehrere Elemente enthält, andernfalls TRUE .
Hinweise
Standardmäßig verwendet das Betriebssystem Splay-Strukturen, um generische Tabellen zu implementieren. Unter bestimmten Umständen wird die Struktur durch Vorgänge in einer Splay-Struktur tief und schmal und kann sogar in eine gerade Linie umgewandelt werden. Sehr tiefe Strukturen beeinträchtigen die Leistung von Suchvorgängen. Sie können eine ausgewogenere, flachere Strukturimplementierung generischer Tabellen sicherstellen, indem Sie Adelson-Velsky/Landis-Strukturen (AVL) verwenden. Wenn Sie die generischen Tabellenroutinen so konfigurieren möchten, dass sie AVL-Strukturen anstelle von Splaystrukturen in Ihrem Treiber verwenden, fügen Sie die folgende define-Anweisung in eine allgemeine Headerdatei ein, bevor Sie Ntddk.h einschließ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 beispielsweise die RtlIsGenericTableEmptyAvl-Strukturroutine anstelle von RtlIsGenericTableEmpty. Im Aufruf von RtlIsGenericTableEmptyAvl muss der Aufrufer anstelle von RTL_GENERIC_TABLE eine RTL_AVL_TABLE Tabellenstruktur übergeben.
Aufrufer von RtlIsGenericTableEmpty müssen unter ≤ APC_LEVEL ausgeführt werden, wenn der vom Aufrufer zugewiesene Arbeitsspeicher in Table ausgelagert werden kann.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Diese Routine ist unter Microsoft Windows 2000 und höher verfügbar. |
Zielplattform | Universell |
Header | ntddk.h (include Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (siehe Abschnitt "Hinweise") |