структура RTL_AVL_TABLE (ntddk.h)

Структура RTL_AVL_TABLE содержит данные файловой системы для дерева Adelson-Velsky/Landis (AVL). Дерево AVL обеспечивает более сбалансированную и мелкую реализацию дерева, чем реализация дерева splay универсальной таблицы (RTL_GENERIC_TABLE).

RTL_AVL_TABLE является непрозрачным, поэтому не может быть напрямую манипулировать. Драйверы должны использовать процедуры поддержки, описанные в разделе "Примечания", для управления значениями RTL_AVL_TABLE.

Синтаксис

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;

Члены

BalancedRoot

Зарезервировано для системного использования.

OrderedPointer

Зарезервировано для системного использования.

WhichOrderedElement

Зарезервировано для системного использования.

NumberGenericTableElements

Зарезервировано для системного использования.

DepthOfTree

Зарезервировано для системного использования.

RestartKey

Зарезервировано для системного использования.

DeleteCount

Зарезервировано для системного использования.

CompareRoutine

Зарезервировано для системного использования.

AllocateRoutine

Зарезервировано для системного использования.

FreeRoutine

Зарезервировано для системного использования.

TableContext

Зарезервировано для системного использования.

Комментарии

Чтобы инициализировать пакет таблицы AVL, необходимо выделить буфер размером не менее байтов sizeof (RTL_AVL_TABLE). Затем этот буфер можно использовать для получения инициализированной структуры таблицы AVL из вызова подпрограммы RtlInitializeGenericTableAvl . Используйте следующие подпрограммы для управления таблицей:

Требования

Требование Значение
Минимальная версия клиента Эта структура доступна в Windows XP и более поздних версиях.
Верхняя часть ntddk.h (включая Ntddk.h)

См. также раздел

RTL_GENERIC_TABLE

RtlDeleteElementGenericTableAvl

RtlEnumerateGenericTableAvl

RtlEnumerateGenericTableLikeADirectory

RtlEnumerateGenericTableWithoutSplayingAvl

RtlGetElementGenericTableAvl

RtlInitializeGenericTableAvl

RtlInsertElementGenericTableAvl

RtlInsertElementGenericTableFullAvl

RtlIsGenericTableEmptyAvl

RtlLookupElementGenericTableAvl

RtlLookupElementGenericTableFullAvl

RtlLookupFirstMatchingElementGenericTableAvl

RtlNumberGenericTableElementsAvl