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 |