Partager via


structure RTL_AVL_TABLE (ntddk.h)

La structure RTL_AVL_TABLE contient des données spécifiques au système de fichiers pour une arborescence Adelson-Velsky/Landis (AVL). Une arborescence AVL garantit une implémentation d’arborescence plus équilibrée et plus superficielle qu’une implémentation d’arborescence de lecture d’une table générique (RTL_GENERIC_TABLE).

RTL_AVL_TABLE est opaque, il est donc impossible de manipuler directement. Les pilotes doivent utiliser les routines de prise en charge décrites dans la section Remarques pour manipuler des valeurs RTL_AVL_TABLE.

Syntaxe

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;

Membres

BalancedRoot

Réservé à l’utilisation du système.

OrderedPointer

Réservé à l’utilisation du système.

WhichOrderedElement

Réservé à l’utilisation du système.

NumberGenericTableElements

Réservé à l’utilisation du système.

DepthOfTree

Réservé à l’utilisation du système.

RestartKey

Réservé à l’utilisation du système.

DeleteCount

Réservé à l’utilisation du système.

CompareRoutine

Réservé à l’utilisation du système.

AllocateRoutine

Réservé à l’utilisation du système.

FreeRoutine

Réservé à l’utilisation du système.

TableContext

Réservé à l’utilisation du système.

Remarques

Pour initialiser un package de table AVL, vous allouez une mémoire tampon qui est au moins sizeof(RTL_AVL_TABLE) octets de taille. Vous pouvez ensuite utiliser cette mémoire tampon pour recevoir la structure de table AVL initialisée à partir d’un appel à la routine RtlInitializeGenericTableAvl. Utilisez les routines suivantes pour manipuler la table :

Exigences

Exigence Valeur
client minimum pris en charge Cette structure est disponible sur Windows XP et versions ultérieures.
d’en-tête ntddk.h (include Ntddk.h)

Voir aussi

RTL_GENERIC_TABLE

RtlDeleteElementGenericTableAvl

RtlEnumerateGenericTableAvl

RtlEnumerateGenericTableLikeADirectory

RtlEnumerateGenericTableWithoutSplayingAvl

RtlGetElementGenericTableAvl

RtlInitializeGenericTableAvl

RtlInsertElementGenericTableAvl

RtlInsertElementGenericTableFullAvl

RtlIsGenericTableEmptyAvl

RtlLookupElementGenericTableAvl

RtlLookupElementGenericTableFullAvl

RtlLookupFirstMatchingElementGenericTableAvl

RtlNumberGenericTableElementsAvl