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


Функция 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 или результатом является NULL.

Замечания

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 8.
целевая платформа Всеобщий
заголовка storport.h (include Storport.h)
IRQL <= DISPATCH_LEVEL

См. также

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPushEntrySList

StorPortQueryDepthSList