RtlIsGenericTableEmptyAvl 함수(ntddk.h)
RtlIsGenericTableEmptyAvl 루틴은 제네릭 테이블이 비어 있는지 여부를 결정합니다.
구문
NTSYSAPI BOOLEAN RtlIsGenericTableEmptyAvl(
[in] PRTL_AVL_TABLE Table
);
매개 변수
[in] Table
제네릭 테이블(RTL_GENERIC_TABLE)에 대한 포인터입니다. RtlIsGenericTableEmptyAvl을 호출하여 테이블을 초기화해야 합니다.
반환 값
RtlIsGenericTableEmptyAvl은 테이블에 하나 이상의 요소가 포함되어 있으면 FALSE 를 반환하고, 그렇지 않으면 TRUE 를 반환합니다.
설명
기본적으로 운영 체제는 플레이 트리를 사용하여 제네릭 테이블을 구현하지만 RtlIsGenericTableEmptyAvl 루틴은 Adelson-Velsky/Landis(AVL) 트리에서만 작동합니다. 드라이버에서 트리를 실행하지 않고 AVL 트리를 사용하도록 제네릭 테이블 루틴을 구성하려면 Ntddk.h를 포함하기 전에 공통 헤더 파일에 다음 define 문을 삽입합니다.
#define RTL_USE_AVL_TABLES 0
RTL_USE_AVL_TABLES 정의되지 않은 경우 제네릭 테이블 루틴의 AVL 형식을 사용해야 합니다. 예를 들어 RtlIsGenericTableEmpty 대신 RtlIsGenericTableEmptyAvl 루틴을 사용합니다. RtlIsGenericTableEmptyAvl 호출에서 호출자는 RTL_GENERIC_TABLE 대신 RTL_AVL_TABLE 테이블 구조를 전달해야 합니다.
Table에서 호출자가 할당한 메모리를 페이징할 수 있는 경우 RtlIsGenericTableEmptyAvl의 호출자는 ≤ APC_LEVEL 실행되어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | ntddk.h(Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL(주의 섹션 참조) |