Функция StorPortInterlockedPushEntrySList (storport.h)
Вставляет элемент в начало списка, управляемого Storport, отдельно связанного. Доступ к списку синхронизируется в многопроцессорной системе.
Синтаксис
ULONG StorPortInterlockedPushEntrySList(
[in] PVOID HwDeviceExtension,
[in, out] PSTOR_SLIST_HEADER SListHead,
[in, out] __drv_aliasesMem PSTOR_SLIST_ENTRY SListEntry,
[out] PSTOR_SLIST_ENTRY *Result
);
Параметры
[in] HwDeviceExtension
Указатель на расширение аппаратного устройства для адаптера шины узла (HBA).
[in, out] SListHead
Указатель на структуру STOR_SLIST_HEADER , представляющую заголовок последовательно связанного списка. Эта структура считается непрозрачной и предназначена только для драйвера Storport.
[in, out] SListEntry
Указатель на структуру STOR_SLIST_ENTRY , представляющую элемент, вставляемый в отдельно связанный список.
[out] Result
Указатель на указатель на вход в список. Возвращаемое значение является указателем на предыдущий элемент, который существовал в начале списка. Предыдущий элемент остается в списке за новым элементом, добавленным из SListEntry. Если список пуст, возвращается значение NULL в значении, на которое указывает Result.
Возвращаемое значение
StorPortInterlockedPushEntrySList возвращает один из следующих кодов состояния:
Код возврата | Описание |
---|---|
|
Эта функция не реализована в активной операционной системе. |
|
Элемент списка был успешно вставлен в список или уже пуст. |
|
Указатель в SListHead, SListEntry или Result имеет значение NULL. |
Комментарии
При выделении вызывающим объектом структура STOR_SLIST_ENTRY , на которую указывает SListEntry , должна быть выровнена по MEMORY_ALLOCATION_ALIGNMENT границе. MEMORY_ALLOCATION_ALIGNMENT определяется в файле miniport.h.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | storport.h (включая Storport.h) |
IRQL | <= DISPATCH_LEVEL |