Поделиться через


Функция StorPortInterlockedInsertTailList (storport.h)

Подпрограмма StorPortInterlockedInsertTailList атомарно вставляет запись в конце списка STOR_LIST_ENTRY структур, связанных с двукратно .

Синтаксис

ULONG StorPortInterlockedInsertTailList(
  [in]      PVOID            HwDeviceExtension,
  [in, out] PSTOR_LIST_ENTRY ListHead,
  [in, out] PSTOR_LIST_ENTRY ListEntry,
  [in, out] PSTOR_LIST_ENTRY *Result,
  [in, out] PSTOR_KSPIN_LOCK Lock
);

Параметры

[in] HwDeviceExtension

Указатель на расширение аппаратного устройства для адаптера шины узла (HBA).

[in, out] ListHead

Указатель на структуру STOR_LIST_ENTRY , представляющую заголовок списка.

[in, out] ListEntry

Указатель на структуру STOR_LIST_ENTRY , представляющую запись для вставки в список.

[in, out] Result

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

[in, out] Lock

Указатель на структуру STOR_KSPIN_LOCK , которая служит в качестве блокировки спина, используемой для синхронизации доступа к списку. Хранилище для спин-блокировки должно быть резидентным и должно быть инициализировано путем вызова StorPortInitializeSpinLock.

Эту блокировку спины необходимо использовать только с подпрограммами StorPortInterlockedXxxList .

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

StorPortInterlockedInsertHeadList возвращает один из следующих кодов состояния:

Код возврата Описание
STOR_STATUS_NOT_IMPLEMENTED Эта функция не реализована в активной операционной системе.
STOR_STATUS_SUCCESS Элементы списка были успешно удалены или список уже пуст.
STOR_STATUS_INVALID_PARAMETER Указатель в ListHead или Result имеет значение NULL.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)

См. также раздел

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedRemoveHeadList