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
RtlDeleteElementGenericTableAvl
RtlEnumerateGenericTableLikeADirectory
RtlEnumerateGenericTableWithoutSplayingAvl
RtlInsertElementGenericTableAvl
RtlInsertElementGenericTableFullAvl
RtlLookupElementGenericTableAvl
RtlLookupElementGenericTableFullAvl