Freigeben über


ExInterlockedFlushSList-Funktion (wdm.h)

Die ExInterlockedFlushSList-Routine entfernt alle Einträge atomar aus einer sequenzierten singly verknüpften Liste.

Syntax

NTKERNELAPI
PSLIST_ENTRY
FASTCALL
ExInterlockedFlushSList (
    _Inout_ PSLIST_HEADER ListHead
    );

Parameter

[in, out] ListHead

Ein Zeiger auf die SLIST_HEADER-Struktur , die als Header für die sequenzierte, singly verknüpfte Liste dient.

Rückgabewert

Wenn Einträge in der angegebenen Liste vorhanden sind, gibt ExInterlockedFlushSList einen Zeiger auf die erste SLIST_ENTRY Struktur zurück, die ein Eintrag in der Liste war. Andernfalls wird NULL zurückgegeben.

Hinweise

ExInterlockedFlushSList löscht nicht die SLIST_ENTRY Strukturen, aus denen die Liste besteht. Sie legt nur den internen Zeiger von ListHead auf den Anfang der Liste auf NULL fest. Der Treiber muss die Einträge explizit freigeben.

Die Routine gibt einen Zeiger auf die erste SLIST_ENTRY Struktur zurück, die sich in der Liste befand. Der Treiber kann diesen Zeiger verwenden, um die Einträge zu durchlaufen.

Weitere Informationen zur Verwendung dieser Routine zum Implementieren einer sequenzierten, singly verknüpften Liste finden Sie unter Singly und Doubly Linked Listen.

Aufrufer von ExInterlockedFlushSList können in jedem IRQL ausgeführt werden. Der Speicher für den ListHead-Parameter und die Listeneinträge muss in allen IRQLs vorhanden sein.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene (siehe Abschnitt Hinweise)

Weitere Informationen

ExInitializeSListHead