estrutura RTL_AVL_TABLE (ntddk.h)
A estrutura RTL_AVL_TABLE contém dados específicos do sistema de arquivos para uma árvore Desvelsky/Landis (AVL). Uma árvore AVL garante uma implementação de árvore mais equilibrada e superficial do que uma implementação de árvore de reprodução de uma tabela genérica (RTL_GENERIC_TABLE).
RTL_AVL_TABLE é opaco, portanto, não pode ser manipulado diretamente. Os drivers devem usar as rotinas de suporte descritas na seção Comentários para manipular valores RTL_AVL_TABLE.
Sintaxe
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;
Membros
BalancedRoot
Reservado para uso do sistema.
OrderedPointer
Reservado para uso do sistema.
WhichOrderedElement
Reservado para uso do sistema.
NumberGenericTableElements
Reservado para uso do sistema.
DepthOfTree
Reservado para uso do sistema.
RestartKey
Reservado para uso do sistema.
DeleteCount
Reservado para uso do sistema.
CompareRoutine
Reservado para uso do sistema.
AllocateRoutine
Reservado para uso do sistema.
FreeRoutine
Reservado para uso do sistema.
TableContext
Reservado para uso do sistema.
Comentários
Para inicializar um pacote de tabela AVL, você aloca um buffer com pelo menos sizeof(RTL_AVL_TABLE) bytes de tamanho. Em seguida, você pode usar esse buffer para receber a estrutura inicializada da tabela AVL de uma chamada para a rotina RtlInitializeGenericTableAvl . Use as seguintes rotinas para manipular a tabela:
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Essa estrutura está disponível no Windows XP e posterior. |
Cabeçalho | ntddk.h (inclua Ntddk.h) |
Confira também
RtlDeleteElementGenericTableAvl
RtlEnumerateGenericTableLikeADirectory
RtlEnumerateGenericTableWithoutSplayingAvl
RtlInsertElementGenericTableAvl
RtlInsertElementGenericTableFullAvl
RtlLookupElementGenericTableAvl
RtlLookupElementGenericTableFullAvl