Partager via


ExInterlockedFlushSList, fonction (wdm.h)

La 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 de retour

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 dans la liste ; sinon, elle retourne NULL.

Remarques

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

La routine retourne un pointeur vers la première structure SLIST_ENTRY qui était dans la liste. Le pilote peut utiliser ce pointeur pour itérer au sein des entrées.

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

Les appelants de ExInterlockedFlushSList peuvent s’exécuter à n’importe quel runtime IRQL. Le stockage du paramètre ListHead et les entrées de liste doivent être résidentes à tous les IRQL.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau (voir section Remarques)

Voir aussi

ExInitializeSListHead