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

Удаляет элемент из передней части списка, управляемого Storport по отдельности. Доступ к списку синхронизируется в многопроцессорной системе.

Синтаксис

Синтаксис

ULONG StorPortInterlockedPopEntrySList(
  [in]      PVOID              HwDeviceExtension,
  [in, out] PSTOR_SLIST_HEADER SListHead,
  [out]     PSTOR_SLIST_ENTRY  *Result
);

Параметры

[in] HwDeviceExtension

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

[in, out] SListHead

Указатель на структуру STOR_SLIST_HEADER , представляющую заголовок единого связанного списка. Эта структура считается непрозрачной и предназначена только для драйвера Storport.

[out] Result

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

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

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

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

Комментарии

StorPortInterlockedPopEntrySList также возвращает STATUS_SUCCESS, если в списке нет записей. Значение указателя, на которое ссылается result, должно быть оценено на значение NULL , чтобы убедиться, что запись не возвращена.

StorPortInterlockedPopEntrySList не освобождает возвращаемую запись списка. Любой код освобождения списка должен позаботиться о том, чтобы освободить память, выделенную для записи списка в расположении, полученном до корректировки выравнивания границ. Значение, на которое указывает результат, может не быть исходным расположением буфера, выделенным из-за корректировки для MEMORY_ALLOCATION_ALIGNMENT. См. примечания для StorPortInterlockedPushEntrySList.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)
IRQL <= DISPATCH_LEVEL

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

StorPortInitializeSListHead

StorPortInterlockedFlushsList

StorPortInterlockedPushEntrySList

StorPortQueryDepthSList