struttura RTL_AVL_TABLE (ntddk.h)
La struttura RTL_AVL_TABLE contiene dati specifici del file system per un albero Adelson-Velsky/Landis (AVL). Un albero AVL garantisce un'implementazione dell'albero più bilanciata e superficiale rispetto a un'implementazione dell'albero di riproduzione di una tabella generica (RTL_GENERIC_TABLE).
RTL_AVL_TABLE è opaco, quindi non può essere manipolato direttamente. I driver devono utilizzare le routine di supporto descritte nella sezione Osservazioni per modificare RTL_AVL_TABLE valori.
Sintassi
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;
Members
BalancedRoot
Riservato per l'utilizzo nel sistema.
OrderedPointer
Riservato per l'utilizzo nel sistema.
WhichOrderedElement
Riservato per l'utilizzo nel sistema.
NumberGenericTableElements
Riservato per l'utilizzo nel sistema.
DepthOfTree
Riservato per l'utilizzo nel sistema.
RestartKey
Riservato per l'utilizzo nel sistema.
DeleteCount
Riservato per l'utilizzo nel sistema.
CompareRoutine
Riservato per l'utilizzo nel sistema.
AllocateRoutine
Riservato per l'utilizzo nel sistema.
FreeRoutine
Riservato per l'utilizzo nel sistema.
TableContext
Riservato per l'utilizzo nel sistema.
Commenti
Per inizializzare un pacchetto di tabella AVL, allocare un buffer con dimensioni di almeno sizeof(RTL_AVL_TABLE) byte. È quindi possibile usare questo buffer per ricevere la struttura di tabella AVL inizializzata da una chiamata alla routine RtlInitializeGenericTableAvl . Utilizzare le routine seguenti per modificare la tabella:
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Questa struttura è disponibile in Windows XP e versioni successive. |
Intestazione | ntddk.h (include Ntddk.h) |
Vedi anche
RtlDeleteElementGenericTableAvl
RtlEnumerateGenericTableLikeADirectory
RtlEnumerateGenericTableWithoutSplayingAvl
RtlInsertElementGenericTableAvl
RtlInsertElementGenericTableFullAvl
RtlLookupElementGenericTableAvl
RtlLookupElementGenericTableFullAvl