Fonction RtlNumberGenericTableElementsAvl (ntddk.h)
La routine RtlNumberGenericTableElementsAvl retourne le nombre d’éléments dans une table générique.
Syntaxe
NTSYSAPI ULONG RtlNumberGenericTableElementsAvl(
[in] PRTL_AVL_TABLE Table
);
Paramètres
[in] Table
Pointeur vers la table générique (RTL_AVL_TABLE). La table doit avoir été initialisée en appelant RtlInitializeGenericTableAvl.
Valeur retournée
RtlNumberGenericTableElementsAvl retourne le nombre d’éléments actuellement stockés dans la table.
Remarques
Par défaut, le système d’exploitation utilise des arborescences de lecture pour implémenter des tables génériques, mais la routine RtlNumberGenericTableElementsAvl fonctionne uniquement avec les arborescences Adelson-Velsky/Landis (AVL). Pour configurer les routines de table génériques pour utiliser des arborescences AVL au lieu d’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 RtlNumberGenericTableElementsAvl au lieu de RtlNumberGenericTableElements. Dans l’appel à RtlNumberGenericTableElementsAvl, l’appelant doit passer une structure de table RTL_AVL_TABLE plutôt qu’RTL_GENERIC_TABLE.
Les appelants du Rtl.. Les routines GenericTableAvl sont chargées de synchroniser exclusivement l’accès à la table générique. Un mutex rapide exclusif est le mécanisme de synchronisation le plus efficace à utiliser à cet effet.
Les appelants de RtlNumberGenericTableElementsAvl doivent s’exécuter sur IRQL < DISPATCH_LEVEL si la mémoire allouée à l’appelant pour la table générique est paginable.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows XP. |
Plateforme cible | Universal |
En-tête | ntddk.h (inclure Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL (voir la section Remarques) |