Функция 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) |