Функция InterlockedPushListSListEx (interlockedapi.h)

Вставляет отдельно связанный список в передней части другого одноуровневого списка. Доступ к спискам синхронизируется в многопроцессорной системе. В этой версии метода не используется соглашение о вызовах __fastcall .

Синтаксис

PSLIST_ENTRY InterlockedPushListSListEx(
  [in, out] PSLIST_HEADER ListHead,
  [in, out] PSLIST_ENTRY  List,
  [in, out] PSLIST_ENTRY  ListEnd,
  [in]      ULONG         Count
);

Параметры

[in, out] ListHead

Указатель на структуру SLIST_HEADER , представляющую главу отдельно связанного списка. Список, заданный параметрами List и ListEnd , вставляется в начало этого списка.

[in, out] List

Указатель на структуру SLIST_ENTRY , представляющую первый вставляемый элемент списка.

[in, out] ListEnd

Указатель на структуру SLIST_ENTRY , представляющую последний вставляемый элемент списка.

[in] Count

Количество вставляемых элементов в списке.

Возвращаемое значение

Возвращаемое значение — это предыдущий первый элемент в списке, заданном параметром ListHead . Если список ранее был пустым, возвращается NULLзначение .

Комментарии

Все элементы списка должны быть выровнены по MEMORY_ALLOCATION_ALIGNMENT границе; В противном случае эта функция будет вести себя непредсказуемо. См . _aligned_malloc.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header interlockedapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Interlocked Singly Linked Списки

InterlockedFlushsList

InterlockedPopEntrySList

InterlockedPushEntrySList

SLIST_ENTRY

Использование единого связанного Списки

API-интерфейсы Vertdll, доступные в анклавах VBS