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

Подпрограмма StorPortInterlockedRemoveHeadList удаляет запись из начала вдвойне связанного списка STOR_LIST_ENTRY структур.

Синтаксис

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

Параметры

[in] HwDeviceExtension

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

[in, out] ListHead

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

[in, out] Result

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

[in, out] Lock

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

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

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

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

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

Требования

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

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

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedInsertTailList