RTL_AVL_TABLE-Struktur (ntddk.h)

Die RTL_AVL_TABLE-Struktur enthält dateisystemspezifische Daten für eine Adelson-Velsky/Landis-Struktur (AVL). Eine AVL-Struktur gewährleistet eine ausgewogenere, flachere Strukturimplementierung als eine Splaybaumimplementierung einer generischen Tabelle (RTL_GENERIC_TABLE).

RTL_AVL_TABLE undurchsichtig ist, kann also nicht direkt manipuliert 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;

Member

BalancedRoot

Ist für das System reserviert.

OrderedPointer

Ist für das System reserviert.

WhichOrderedElement

Ist für das System reserviert.

NumberGenericTableElements

Ist für das System reserviert.

DepthOfTree

Ist für das System reserviert.

RestartKey

Ist für das System reserviert.

DeleteCount

Ist für das System reserviert.

CompareRoutine

Ist für das System reserviert.

AllocateRoutine

Ist für das System reserviert.

FreeRoutine

Ist für das System reserviert.

TableContext

Ist für das System reserviert.

Hinweise

Um ein AVL-Tabellenpaket zu initialisieren, weisen Sie einen Puffer zu, der mindestens sizeof(RTL_AVL_TABLE) Bytes aufweist. Anschließend können Sie diesen Puffer verwenden, um die initialisierte AVL-Tabellenstruktur von einem Aufruf der RtlInitializeGenericTableAvl-Routine zu empfangen. Verwenden Sie die folgenden Routinen, um die Tabelle zu bearbeiten:

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Diese Struktur ist unter Windows XP und höher verfügbar.
Kopfzeile ntddk.h (include Ntddk.h)

Weitere Informationen

RTL_GENERIC_TABLE

RtlDeleteElementGenericTableAvl

RtlEnumerateGenericTableAvl

RtlEnumerateGenericTableLikeADirectory

RtlEnumerateGenericTableWithoutSplayingAvl

RtlGetElementGenericTableAvl

RtlInitializeGenericTableAvl

RtlInsertElementGenericTableAvl

RtlInsertElementGenericTableFullAvl

RtlIsGenericTableEmptyAvl

RtlLookupElementGenericTableAvl

RtlLookupElementGenericTableFullAvl

RtlLookupFirstMatchingElementGenericTableAvl

RtlNumberGenericTableElementsAvl