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

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

Синтаксис

NTSYSAPI BOOLEAN RtlIsGenericTableEmpty(
  [in] PRTL_GENERIC_TABLE Table
);

Параметры

[in] Table

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

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

Функция RtlIsGenericTableEmpty возвращает значение FALSE , если таблица содержит один или несколько элементов, в противном случае — значение TRUE .

Комментарии

По умолчанию операционная система использует деревья splay для реализации универсальных таблиц. В некоторых случаях операции с деревом splay сделают дерево глубоким и узким и может даже превратить его в прямую линию. Очень глубокие деревья ухудшают производительность поиска. С помощью деревьев 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.

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

Требования

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

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

RtlInitializeGenericTable