RtlNumberGenericTableElementsAvl-Funktion (ntddk.h)
Die RtlNumberGenericTableElementsAvl Routine gibt die Anzahl der Elemente in einer generischen Tabelle zurück.
Syntax
NTSYSAPI ULONG RtlNumberGenericTableElementsAvl(
[in] PRTL_AVL_TABLE Table
);
Parameter
[in] Table
Zeiger auf die generische Tabelle (RTL_AVL_TABLE). Die Tabelle muss durch Aufrufen von RtlInitializeGenericTableAvlinitialisiert worden sein.
Rückgabewert
RtlNumberGenericTableElementsAvl gibt die Anzahl der Elemente zurück, die derzeit in der Tabelle gespeichert sind.
Bemerkungen
Standardmäßig verwendet das Betriebssystem Splay-Strukturen, um generische Tabellen zu implementieren, aber die RtlNumberGenericTableElementsAvl Routine funktioniert nur mit Adelson-Velsky/Landis (AVL)-Strukturen. Um die generischen Tabellenroutinen für die Verwendung von AVL-Strukturen anstelle von Wiedergabestrukturen in Ihrem Treiber zu konfigurieren, fügen Sie die folgende Define-Anweisung in eine allgemeine Headerdatei ein, bevor Ntddk.heingeschlossen wird:
#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 RtlNumberGenericTableElementsAvl Routine anstelle RtlNumberGenericTableElements. Im Aufruf von RtlNumberGenericTableElementsAvlmuss der Aufrufer eine RTL_AVL_TABLE Tabellenstruktur statt RTL_GENERIC_TABLEübergeben.
Anrufer der Rtl.. GenericTableAvl Routinen sind für die ausschließliche Synchronisierung des Zugriffs auf die generische Tabelle verantwortlich. Ein exklusiver schneller Mutex ist der effizienteste Synchronisierungsmechanismus für diesen Zweck.
Aufrufer von RtlNumberGenericTableElementsAvl- müssen bei IRQL-< DISPATCH_LEVEL ausgeführt werden, wenn der vom Aufrufer zugewiesene Speicher für die generische Tabelle seitenfähig ist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows XP. |
Zielplattform- | Universal |
Header- | ntddk.h (enthalten Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | < DISPATCH_LEVEL (siehe Abschnitt "Hinweise") |