Fonction ExInterlockedFlushSList (wdm.h)

La routine ExInterlockedFlushSList supprime atomiquement toutes les entrées d’une liste liée séquencée.

Syntaxe

NTKERNELAPI
PSLIST_ENTRY
FASTCALL
ExInterlockedFlushSList (
    _Inout_ PSLIST_HEADER ListHead
    );

Paramètres

[in, out] ListHead

Pointeur vers la structure SLIST_HEADER qui sert d’en-tête pour la liste liée séquencée.

Valeur retournée

S’il y avait des entrées dans la liste spécifiée, ExInterlockedFlushSList retourne un pointeur vers la première structure SLIST_ENTRY qui était une entrée de la liste ; dans le cas contraire, elle retourne NULL.

Remarques

ExInterlockedFlushSList ne supprime pas les structures SLIST_ENTRY qui composent la liste ; il définit uniquement le pointeur interne de ListHead vers le début de la liste sur NULL. Le pilote doit libérer les entrées explicitement.

La routine retourne un pointeur vers la première structure SLIST_ENTRY figurant dans la liste. Le pilote peut utiliser ce pointeur pour itérer dans les entrées.

Pour plus d’informations sur l’utilisation de cette routine pour implémenter une liste liée séquencée, consultez Singly and Doubly Linked Listes.

Les appelants d’ExInterlockedFlushSList peuvent être en cours d’exécution à n’importe quel IRQL. Le stockage du paramètre ListHead et des entrées de liste doit être résident à tous les IRQL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau (voir la section Remarques)

Voir aussi

ExInitializesListHead