Функция ExInterlockedFlushSList (wdm.h)
Подпрограмма ExInterlockedFlushSList атомарно удаляет все записи из последовательно связанного списка.
Синтаксис
NTKERNELAPI
PSLIST_ENTRY
FASTCALL
ExInterlockedFlushSList (
_Inout_ PSLIST_HEADER ListHead
);
Параметры
[in, out] ListHead
Указатель на структуру SLIST_HEADER , которая служит заголовком для последовательно связанного списка.
Возвращаемое значение
Если в указанном списке есть записи, ExInterlockedFlushSList возвращает указатель на первую SLIST_ENTRY структуру, которая была записью в списке; В противном случае возвращается значение NULL.
Комментарии
ExInterlockedFlushSList не удаляет SLIST_ENTRY структуры, которые составили список; он задает только для внутреннего указателя ListHead на начало списка значение NULL. Драйвер должен явно освободить записи.
Подпрограмма возвращает указатель на первую структуру SLIST_ENTRY , которая была в списке. Драйвер может использовать этот указатель для итерации записей.
Дополнительные сведения об использовании этой подпрограммы для реализации последовательно связанного списка см. в статье Singly and Doubly Linked Списки.
Вызывающие функции ExInterlockedFlushSList могут выполняться в любом irQL. Хранилище для параметра ListHead и записей списка должно находиться во всех списках IRQL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень (см. раздел "Примечания") |