Share via


InterlockedPushListSList function

Inserts a singly-linked list at the front of another singly linked list. Access to the lists is synchronized on a multiprocessor system.

Syntax

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

Parameters

  • ListHead [in, out]
    Pointer to an SLIST_HEADER structure that represents the head of a singly linked list. The list specified by the List and ListEnd parameters is inserted at the front of this list.

  • List [in, out]
    Pointer to an SLIST_ENTRY structure that represents the first item in the list to be inserted.

  • ListEnd [in, out]
    Pointer to an SLIST_ENTRY structure that represents the last item in the list to be inserted.

  • Count [in]
    The number of items in the list to be inserted.

Return value

The return value is the previous first item in the list specified by the ListHead parameter. 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.

Windows 8 and Windows Server 2012: This function has been superceded by InterlockedPushListSListEx. When compiling with NTDDI_VERSION set to NTDDI_WIN8 or greater, calls to InterlockedPushListSList will go to InterlockedPushListSListEx instead.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Minimum supported phone

Windows Phone 8

Header

WinBase.h on Windows Vista, Windows 7, Windows Server 2008 and Windows Server 2008 R2 (include Windows.h); InterlockedAPI.h on Windows 8 and Windows Server 2012 (include Windows.h)

Library

Kernel32.lib

DLL

Kernel32.dll

See also

Interlocked Singly Linked Lists

InterlockedPopEntrySList

InterlockedPushEntrySList

InterlockedPushListSListEx

InterlockedFlushSList

SLIST_ENTRY

Using Singly Linked Lists