NdisInterlockedPushEntrySList 宏 (ndis.h)
NdisInterlockedPushEntrySList 函数在经过排序的单独链接列表的头部插入一个条目。
语法
void NdisInterlockedPushEntrySList(
SListHead,
SListEntry,
[in] Lock
);
参数
SListHead
指向已初始化的单独链接列表的头的指针,指定条目将插入其中。
SListEntry
指向要插入的条目的指针。
[in] Lock
指向调用方提供的旋转锁的指针,当前不由调用方持有。
返回值
无
备注
在驱动程序初始调用 NdisInterlockedPushEntrySList 函数之前,它必须使用 初始化列表头 NdisInitializeSListHead 函数。
驱动程序在调用 NdisInterlockedPushEntrySList 时不得持有给定的锁。 如有必要,驱动程序必须在调用 NdisInterlockedPushEntrySList 之前调用 NdisReleaseSpinLock 函数。 NdisInterlockedPushEntrySList 必须先获取此锁本身,然后才能在列表的头部插入 ListEntry ,以确保以多处理器安全的方式处理此操作。
调用方必须为 Lock 提供驻留存储,该存储必须在初始调用任何 NdisInterlocked 之前使用 NdisAllocateSpinLock 函数进行初始化 。SList 例程。
重试 I/O 操作的驱动程序应使用双重链接的互锁队列和 NdisInterlockedInsert/Remove。列出 函数,而不是 S-List。
如果在 IRQL >= DISPATCH_LEVEL 调用 NdisInterlockedPushEntrySList,则 ListHead 参数和列表条目的存储必须是常驻的
要求
要求 | 值 |
---|---|
最低受支持的客户端 | NDIS 6.0 和 NDIS 5.1 驱动程序支持 (请参阅 Windows Vista 中的 NdisInterlockedPushEntrySList (NDIS 5.1) ) 。 NDIS 5.1 驱动程序支持 (请参阅 Windows XP 中的 NdisInterlockedPushEntrySList (NDIS 5.1) ) 。 |
目标平台 | 桌面 |
标头 | ndis.h (包括 Ndis.h) |
IRQL | 任何级别 |