다음을 통해 공유


RtlIsGenericTableEmpty 함수(ntddk.h)

RtlIsGenericTableEmpty 루틴은 제네릭 테이블이 비어 있는지 여부를 결정합니다.

통사론

NTSYSAPI BOOLEAN RtlIsGenericTableEmpty(
  [in] PRTL_GENERIC_TABLE Table
);

매개 변수

[in] Table

제네릭 테이블(RTL_GENERIC_TABLE)에 대한 포인터입니다. RtlInitializeGenericTable호출하여 테이블을 초기화해야 합니다.

반환 값

RtlIsGenericTableEmpty 테이블에 하나 이상의 요소가 포함된 경우 FALSE 반환하고, 그렇지 않으면 TRUE .

발언

기본적으로 운영 체제는 splay 트리를 사용하여 제네릭 테이블을 구현합니다. 경우에 따라 플레이 트리에서 작업을 수행하면 트리가 깊고 좁아지고 직선으로 바뀔 수도 있습니다. 매우 깊은 트리는 검색 성능을 저하합니다. AVL(Adelson-Velsky/Landis) 트리를 사용하여 제네릭 테이블의 보다 균형 있고 얕은 트리 구현을 보장할 수 있습니다. 드라이버에서 트리를 실행하지 않고 AVL 트리를 사용하도록 제네릭 테이블 루틴을 구성하려면 Ntddk.h포함하기 전에 공통 헤더 파일에 다음 정의 문을 삽입합니다.

#define RTL_USE_AVL_TABLES 0

RTL_USE_AVL_TABLES 정의되지 않은 경우 제네릭 테이블 루틴의 AVL 형식을 사용해야 합니다. 예를 들어 RtlIsGenericTableEmpty 대신 RtlIsGenericTableEmptyAvl Structure 루틴을 사용합니다. RtlIsGenericTableEmptyAvl호출에서 호출자는 RTL_GENERIC_TABLE대신 RTL_AVL_TABLE 테이블 구조를 전달해야 합니다.

Table 호출자가 할당한 메모리를 페이징할 수 있는 경우 RtlIsGenericTableEmpty 호출자는 ≤ APC_LEVEL 실행되어야 합니다.

요구 사항

요구
지원되는 최소 클라이언트 이 루틴은 Microsoft Windows 2000 이상에서 사용할 수 있습니다.
대상 플랫폼 보편적
헤더 ntddk.h(Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL(주의 섹션 참조)

참고 항목

RtlInitializeGenericTable