Макрос NdisInterlockedPopEntrySList (ndis.h)
Функция NdisInterlockedPopEntrySList удаляет первую запись из последовательного связанного списка.
Синтаксис
void NdisInterlockedPopEntrySList(
SListHead,
[in] Lock
);
Параметры
SListHead
Указатель на голову уже инициализированного последовательного списка, из которого должна быть возвращена запись.
[in] Lock
Указатель на блокировку спина, предоставляемую вызывающим абонентом, не удерживаемую вызывающим абонентом.
Возвращаемое значение
Никакой
Замечания
Драйвер не должен держать заданный блокировку при вызове NdisInterlockedPopEntrySList. При необходимости драйвер должен вызвать функцию NdisReleaseSpinLock перед этим вызовом. NdisInterlockedPopEntrySList сам должен получить эту блокировку спина, чтобы удалить первую запись в списке S-List, если таковые есть, в многопроцессорном режиме.
Вызывающий объект должен предоставить резидентное хранилище для блокировки, который необходимо инициализировать с помощью функции NdisAllocateSpinLock перед первоначальным вызовом любого NdisInterlock.. Функция 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 (include Ndis.h) |
IRQL | Любой уровень |