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