NdisInterlockedPopEntrySList 宏 (ndis.h)

NdisInterlockedPopEntrySList 函数从已排序、单唱链接的列表中删除第一个条目。

语法

void NdisInterlockedPopEntrySList(
        SListHead,
  [in]  Lock
);

参数

SListHead

指向已初始化的已初始化序列列表的头的指针,该列表将从中返回条目。

[in] Lock

指向调用方提供的旋转锁的指针,当前不由调用方持有。

返回值

备注

调用 NdisInterlockedPopEntrySList 时,驱动程序不得持有给定的锁。 如有必要,驱动程序应在进行此调用之前调用 NdisReleaseSpinLock 函数。 NdisInterlockedPopEntrySList 本身必须获取此旋转锁才能删除 S-List 中的第一个条目(如果有)以多处理器安全的方式。

调用方必须为 Lock 提供驻留存储,该存储必须在初始调用任何 NdisInterlocked 之前使用 NdisAllocateSpinLock 函数进行初始化 。SList 函数。

如果在 IRQL >= DISPATCH_LEVEL调用 NdisInterlockedPopEntrySList,则 ListHead 参数的存储必须驻留。

要求

   
最低受支持的客户端 (支持 NDIS 6.0 和 NDIS 5.1 驱动程序,请参阅 Windows Vista 中的 NdisInterlockedPopEntrySList (NDIS 5.1) ) 。 支持 NDIS 5.1 驱动程序 (在 Windows XP 中看到 NdisInterlockedPopEntrySList (NDIS 5.1) ) 。
目标平台 桌面
Header ndis.h (包括 Ndis.h)
IRQL 任何级别

另请参阅

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPushEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock