Поделиться через


Макрос 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 Любой уровень

См. также

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPushEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock