RTL_AVL_TABLE Struktur (ntddk.h)
Die RTL_AVL_TABLE Struktur enthält dateisystemspezifische Daten für eine Adelson-Velsky/Landis (AVL)-Struktur. Eine AVL-Struktur stellt eine ausgewogenere, flachere Strukturimplementierung als eine Implementierung der Wiedergabestruktur einer generischen Tabelle (RTL_GENERIC_TABLE) sicher.
RTL_AVL_TABLE ist undurchsichtig, kann daher nicht direkt bearbeitet werden. Treiber müssen die Im Abschnitt "Hinweise" beschriebenen Supportroutinen verwenden, um RTL_AVL_TABLE Werte zu bearbeiten.
Syntax
typedef struct _RTL_AVL_TABLE {
RTL_BALANCED_LINKS BalancedRoot;
PVOID OrderedPointer;
ULONG WhichOrderedElement;
ULONG NumberGenericTableElements;
ULONG DepthOfTree;
PRTL_BALANCED_LINKS RestartKey;
ULONG DeleteCount;
PRTL_AVL_COMPARE_ROUTINE CompareRoutine;
PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine;
PRTL_AVL_FREE_ROUTINE FreeRoutine;
PVOID TableContext;
} RTL_AVL_TABLE;
Angehörige
BalancedRoot
Reserviert für die Systemverwendung.
OrderedPointer
Reserviert für die Systemverwendung.
WhichOrderedElement
Reserviert für die Systemverwendung.
NumberGenericTableElements
Reserviert für die Systemverwendung.
DepthOfTree
Reserviert für die Systemverwendung.
RestartKey
Reserviert für die Systemverwendung.
DeleteCount
Reserviert für die Systemverwendung.
CompareRoutine
Reserviert für die Systemverwendung.
AllocateRoutine
Reserviert für die Systemverwendung.
FreeRoutine
Reserviert für die Systemverwendung.
TableContext
Reserviert für die Systemverwendung.
Bemerkungen
Um ein AVL-Tabellenpaket zu initialisieren, weisen Sie einen Puffer zu, der mindestens Sizeof(RTL_AVL_TABLE) Bytes groß ist. Anschließend können Sie diesen Puffer verwenden, um die initialisierte AVL-Tabellenstruktur von einem Aufruf an die RtlInitializeGenericTableAvl Routine zu empfangen. Verwenden Sie die folgenden Routinen, um die Tabelle zu bearbeiten:
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Diese Struktur ist unter Windows XP und höher verfügbar. |
Header- | ntddk.h (include Ntddk.h) |
Siehe auch
RtlDeleteElementGenericTableAvl
RtlEnumerateGenericTableLikeADirectory
RtlEnumerateGenericTableWithoutSplayingAvl
RtlInsertElementGenericTableAvl
RtlInsertElementGenericTableFullAvl
RtlLookupElementGenericTableAvl
RtlLookupElementGenericTableFullAvl