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 et ne peut donc pas être manipulé directement. Les pilotes doivent utiliser les routines de prise en charge décrites dans la section Remarques pour manipuler RTL_AVL_TABLE valeurs.
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é pour le système.
OrderedPointer
Réservé pour le système.
WhichOrderedElement
Réservé pour le système.
NumberGenericTableElements
Réservé pour le système.
DepthOfTree
Réservé pour le système.
RestartKey
Réservé pour le système.
DeleteCount
Réservé pour le système.
CompareRoutine
Réservé pour le système.
AllocateRoutine
Réservé pour le système.
FreeRoutine
Réservé pour le système.
TableContext
Réservé pour le système.
Remarques
Pour initialiser un package de table AVL, vous allouez une mémoire tampon d’une taille minimale d’octets (RTL_AVL_TABLE). 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 :
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Cette structure est disponible sur Windows XP et versions ultérieures. |
En-tête | ntddk.h (inclure Ntddk.h) |
Voir aussi
RtlDeleteElementGenericTableAvl
RtlEnumerateGenericTableLikeADirectory
RtlEnumerateGenericTableWithoutSplayingAvl
RtlInsertElementGenericTableAvl
RtlInsertElementGenericTableFullAvl
RtlLookupElementGenericTableAvl
RtlLookupElementGenericTableFullAvl