Fonction RtlIsGenericTableEmpty (ntddk.h)

La routine RtlIsGenericTableEmpty détermine si une table générique est vide.

Syntaxe

NTSYSAPI BOOLEAN RtlIsGenericTableEmpty(
  [in] PRTL_GENERIC_TABLE Table
);

Paramètres

[in] Table

Pointeur vers la table générique (RTL_GENERIC_TABLE). La table doit avoir été initialisée en appelant RtlInitializeGenericTable.

Valeur retournée

RtlIsGenericTableEmpty retourne FALSE si la table contient un ou plusieurs éléments, TRUE sinon.

Remarques

Par défaut, le système d’exploitation utilise des arborescences de lecture pour implémenter des tables génériques. Dans certaines circonstances, les opérations sur un arbre de jeu rendent l’arbre profond et étroit et peut même le transformer en une ligne droite. Les arbres très profonds dégradent les performances des recherches. Vous pouvez garantir une implémentation d’arborescence plus équilibrée et moins profonde des tables génériques à l’aide des arborescences Adelson-Velsky/Landis (AVL). Si vous souhaitez configurer les routines de table génériques pour utiliser des arborescences AVL plutôt que des arborescences de lecture dans votre pilote, insérez l’instruction define suivante dans un fichier d’en-tête commun avant d’inclure Ntddk.h :

#define RTL_USE_AVL_TABLES 0

Si RTL_USE_AVL_TABLES n’est pas défini, vous devez utiliser la forme AVL des routines de table génériques. Par exemple, utilisez la routine RtlIsGenericTableEmptyAvl Structure au lieu de RtlIsGenericTableEmpty. Dans l’appel à RtlIsGenericTableEmptyAvl, l’appelant doit passer une structure de table RTL_AVL_TABLE plutôt que RTL_GENERIC_TABLE.

Les appelants de RtlIsGenericTableEmpty doivent être en cours d’exécution à ≤ APC_LEVEL si la mémoire allouée à l’appelant sur Table est paginable.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Cette routine est disponible sur Microsoft Windows 2000 et versions ultérieures.
Plateforme cible Universal
En-tête ntddk.h (inclure Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL (voir la section Remarques)

Voir aussi

RtlInitializeGenericTable