Freigeben über


InterlockedPushListSList-Funktion

Beschreibung

Fügt eine einfach verknüpfte Liste an der Vorderseite einer anderen verknüpften Liste ein.

Der Zugriff auf die Listen wird auf einem Multiprozessorsystem synchronisiert.

PSLIST_ENTRY  FASTCALL InterlockedPushListSList(
  _Inout_ PSLIST_HEADER ListHead,
  _Inout_ PSLIST_ENTRY  List,
  _Inout_ PSLIST_ENTRY  ListEnd,
  _In_    ULONG         Count
);

Parameter

ListHead [in, out]

Zeiger auf eine SLIST_HEADER-Struktur, die den Header einer einfach verknüpften Liste darstellt. Die durch die Parameter List und ListEnd angegebene Liste wird am Anfang dieser Liste eingefügt.

List [in, out]

Zeiger auf eine SLIST_ENTRY-Struktur, die das erste Element in der Liste darstellt, das eingefügt werden soll

ListEnd [in, out]

Zeiger auf eine SLIST_ENTRY-Struktur, die das letzte Element in der Liste darstellt, das eingefügt werden soll

Count [in]

Die Anzahl der Elemente in der Liste, die eingefügt werden sollen

Gibt zurück

Der Rückgabewert ist das vorherige erste Element in der Liste, das durch den Parameter ListHead angegeben wird. Wenn die Liste zuvor leer war, ist der Rückgabewert NULL.

Hinweise

Alle Listenelemente müssen auf eine MEMORY_ALLOCATION_ALIGNMENT-Grenze ausgerichtet werden. Andernfalls verhält sich diese Funktion unvorhersehbar. Informationen finden Sie unter _aligned_malloc.

Windows 8 und Windows Server 2012: Diese Funktion wurde durch InterlockedPushListSListEx ersetzt.

Beim Kompilieren mit NTDDI_VERSION mit einem Wert von NTDDI_WIN8 oder höher werden Aufrufe von InterlockedPushListSList stattdessen zu InterlockedPushListSListEx weitergeleitet.

Siehe auch

Einfach verknüpfte Interlocked-Listen

InterlockedPopEntrySList

InterlockedPushEntrySList

InterlockedPushListSListEx

InterlockedFlushSList

SLIST_ENTRY

Verwenden einfach verknüpfter Listen

Vertdll-APIs verfügbar in VBS-Enklaven