Функция RtlIsGenericTableEmptyAvl (ntddk.h)

Подпрограмма RtlIsGenericTableEmptyAvl определяет, является ли универсальная таблица пустой.

Синтаксис

NTSYSAPI BOOLEAN RtlIsGenericTableEmptyAvl(
  [in] PRTL_AVL_TABLE Table
);

Параметры

[in] Table

Указатель на универсальную таблицу (RTL_GENERIC_TABLE). Таблица должна быть инициализирована путем вызова RtlIsGenericTableEmptyAvl.

Возвращаемое значение

RtlIsGenericTableEmptyAvl возвращает значение FALSE , если таблица содержит один или несколько элементов, в противном случае — ЗНАЧЕНИЕ TRUE .

Комментарии

По умолчанию операционная система использует деревья splay для реализации универсальных таблиц, но подпрограмма RtlIsGenericTableEmptyAvl работает только с деревьями Adelson-Velsky/Landis (AVL). Чтобы настроить в универсальных подпрограммах таблицы использование деревьев AVL вместо деревьев splay в драйвере, вставьте следующую инструкцию define в общий файл заголовка перед включением Ntddk.h:

#define RTL_USE_AVL_TABLES 0

Если RTL_USE_AVL_TABLES не определен, необходимо использовать форму AVL универсальных табличных процедур. Например, используйте подпрограмму RtlIsGenericTableEmptyAvl вместо RtlIsGenericTableEmpty. В вызове RtlIsGenericTableEmptyAvl вызывающий объект должен передать RTL_AVL_TABLE табличную структуру, а не RTL_GENERIC_TABLE.

Вызывающие функции RtlIsGenericTableEmptyAvl должны выполняться в ≤ APC_LEVEL, если память, выделенная вызывающим объектом, в таблице доступна для страниц.

Требования

Требование Значение
Минимальная версия клиента Доступно, начиная с Windows XP.
Целевая платформа Универсальное
Верхняя часть ntddk.h (включая Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL (см. раздел "Примечания")

См. также раздел

RtlInitializeGenericTableAvl