структура 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) |
См. также раздел
RtlDeleteElementGenericTableAvl
RtlEnumerateGenericTableLikeADirectory
RtlEnumerateGenericTableWithoutSplayingAvl
RtlInsertElementGenericTableAvl
RtlInsertElementGenericTableFullAvl
RtlLookupElementGenericTableAvl
RtlLookupElementGenericTableFullAvl