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 資料表套件,您可以配置大小至少為大小 (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