InterlockedPushEntrySList function (interlockedapi.h)

Inserts an item at the front of a singly linked list. Access to the list is synchronized on a multiprocessor system.

Syntax

PSLIST_ENTRY InterlockedPushEntrySList(
  [in, out] PSLIST_HEADER                 ListHead,
  [in, out] __drv_aliasesMem PSLIST_ENTRY ListEntry
);

Parameters

[in, out] ListHead

Pointer to an SLIST_HEADER structure that represents the head of a singly linked list.

[in, out] ListEntry

Pointer to an SLIST_ENTRY structure that represents an item in a singly linked list.

Return value

The return value is the previous first item in the list. If the list was previously empty, the return value is NULL.

Remarks

All list items must be aligned on a MEMORY_ALLOCATION_ALIGNMENT boundary; otherwise, this function will behave unpredictably. See _aligned_malloc.

Examples

For an example, see Using Singly Linked Lists.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps | UWP apps]
Minimum supported server Windows Server 2003 [desktop apps | UWP apps]
Target Platform Windows
Header interlockedapi.h (include Windows.h on Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
DLL Kernel32.dll

See also

Interlocked Singly Linked Lists

InterlockedFlushSList

InterlockedPopEntrySList

InterlockedPushListSList

InterlockedPushListSListEx

SLIST_ENTRY

Using Singly Linked Lists

Vertdll APIs available in VBS enclaves