RTL_AVL_TABLE 구조체(ntddk.h)

RTL_AVL_TABLE 구조에는 Adelson-Velsky/Landis(AVL) 트리에 대한 파일 시스템별 데이터가 포함됩니다. AVL 트리는 제네릭 테이블(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) 바이트인 버퍼를 할당합니다. 그런 다음 이 버퍼를 사용하여 RtlInitializeGenericTableAvl 루틴에 대한 호출에서 초기화된 AVL 테이블 구조를 받을 수 있습니다. 다음 루틴을 사용하여 테이블을 조작합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 이 구조는 Windows XP 이상에서 사용할 수 있습니다.
머리글 ntddk.h(Ntddk.h 포함)

추가 정보

RTL_GENERIC_TABLE

RtlDeleteElementGenericTableAvl

RtlEnumerateGenericTableAvl

RtlEnumerateGenericTableLikeADirectory

RtlEnumerateGenericTableWithoutSplayingAvl

RtlGetElementGenericTableAvl

RtlInitializeGenericTableAvl

RtlInsertElementGenericTableAvl

RtlInsertElementGenericTableFullAvl

RtlIsGenericTableEmptyAvl

RtlLookupElementGenericTableAvl

RtlLookupElementGenericTableFullAvl

RtlLookupFirstMatchingElementGenericTableAvl

RtlNumberGenericTableElementsAvl