Compartilhar via


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

RTL_GENERIC_TABLE

RtlDeleteElementGenericTableAvl

RtlEnumerateGenericTableAvl

RtlEnumerateGenericTableLikeADirectory

RtlEnumerateGenericTableWithoutSplayingAvl

RtlGetElementGenericTableAvl

RtlInitializeGenericTableAvl

RtlInsertElementGenericTableAvl

RtlInsertElementGenericTableFullAvl

RtlIsGenericTableEmptyAvl

RtlLookupElementGenericTableAvl

RtlLookupElementGenericTableFullAvl

RtlLookupFirstMatchingElementGenericTableAvl

RtlNumberGenericTableElementsAvl