Функция 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 возвращает один из следующих кодов состояния:
Возвращаемый код | Описание |
---|---|
|
Эта функция не реализована в активной операционной системе. |
|
Элемент списка был успешно удален из списка или уже пуст. |
|
Указатель на SListHead или результатом является NULL. |
Замечания
StorPortInterlockedPopEntrySList также возвращает STATUS_SUCCESS, если в списке нет записей. Значение указателя, на которое ссылается Result, необходимо оценить для NULL, чтобы убедиться, что запись не была возвращена.
StorPortInterlockedPopEntrySList не освобождает возвращаемую запись списка. Любой код размещения для списка должен заботиться о том, чтобы освободить память, выделенную для записи списка в расположении, полученном до любой корректировки выравнивания границ. Значение, на которое указывает Результирующий, может не быть исходным расположением буфера, выделенным из-за корректировки MEMORY_ALLOCATION_ALIGNMENT. См. замечания по StorPortInterlockedPushEntrySList.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8. |
целевая платформа | Всеобщий |
заголовка | storport.h (include Storport.h) |
IRQL | <= DISPATCH_LEVEL |