RTL_AVL_TABLE结构(ntddk.h)

RTL_AVL_TABLE结构包含 Adelson-Velsky/Landis (AVL) 树的文件系统特定数据。 AVL 树确保比泛型表(RTL_GENERIC_TABLE)的 splay 树实现更平衡、更浅的树实现。

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字节大小的缓冲区。 然后,可以使用此缓冲区从对 RtlInitializeGenericTableAvl 例程的调用接收初始化的 AVL 表结构。 使用以下例程作表:

要求

要求 价值
最低支持的客户端 此结构在 Windows XP 及更高版本上可用。
标头 ntddk.h (包括 Ntddk.h)

另请参阅

RTL_GENERIC_TABLE

RtlDeleteElementGenericTableAvl

RtlEnumerateGenericTableAvl

RtlEnumerateGenericTableLikeADirectory

RtlEnumerateGenericTableWithoutSplayingAvl

RtlGetElementGenericTableAvl

RtlInitializeGenericTableAvl

RtlInsertElementGenericTableAvl

RtlInsertElementGenericTableFullAvl

RtlIsGenericTableEmptyAvl

RtlLookupElementGenericTableAvl

RtlLookupElementGenericTableFullAvl

RtlLookupFirstMatchingElementGenericTableAvl

RtlNumberGenericTableElementsAvl