Макрос NdisInterlockedPopEntrySList (ndis.h)
Функция NdisInterlockedPopEntrySList удаляет первую запись из последовательно связанного списка.
Синтаксис
void NdisInterlockedPopEntrySList(
SListHead,
[in] Lock
);
Параметры
SListHead
Указатель на голову уже инициализированного последовательного списка, из которого должна быть возвращена запись.
[in] Lock
Указатель на спиновую блокировку, предоставляемую вызывающим объектом, которая в настоящее время не удерживается вызывающим объектом.
Возвращаемое значение
None
Remarks
Драйвер не должен удерживать заданную блокировку при вызове NdisInterlockedPopEntrySList. При необходимости драйвер должен вызвать функцию NdisReleaseSpinLock перед выполнением этого вызова. NdisInterlockedPopEntrySList сам должен получить эту блокировку спина, чтобы удалить первую запись в списке S, если таковой имеется, многопроцессорным безопасным способом.
Вызывающий объект должен предоставить резидентное хранилище для блокировки, которая должна быть инициализирована с помощью функции NdisAllocateSpinLock перед первоначальным вызовом любого NdisInterlocked.. Функция SList .
Если NdisInterlockedPopEntrySList вызывается по адресу IRQL >= DISPATCH_LEVEL, хранилище для параметра ListHead должно быть резидентным.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisInterlockedPopEntrySList (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisInterlockedPopEntrySList (NDIS 5.1)) в Windows XP. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ndis.h (включая Ndis.h) |
IRQL | Любой уровень |