NdisInterlockedAddUlong 宏 (ndis.h)

NdisInterlockedAddUlong 函数使用调用方提供的旋转锁将无符号长值作为原子作添加到给定无符号整数中,以同步对整数变量的访问。

语法

void NdisInterlockedAddUlong(
  [in]  _Addend,
  [in]  _Increment,
  [in]  _SpinLock
);

参数

[in] _Addend

指向由给定 增量 调整值的变量的指针。

[in] _Increment

要添加到该 加载项 的值。

[in] _SpinLock

指向调用方初始化的旋转锁的指针。

返回值

没有

言论

NdisInterlockedAddUlong 的调用方必须为旋转锁提供常驻存储,该存储必须在初始调用 NdisInterlockedAddUlong之前使用 NdisAllocateSpinLock 函数进行初始化。

传递给 NdisInterlockedAddUlong 函数的 SpinLock 值可确保在 与同一旋转锁同步的同一变量上添加变量是原子性的。

NdisInterlockedAddUlong 在获取给定旋转锁并还原原始 IRQL 之前,将 IRQL 提升为DISPATCH_LEVEL。 因此,调用 NdisInterlockedAddUlong 的任何驱动程序函数都不能是可分页代码。

要求

要求 价值
最低支持的客户端 Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 NdisInterlockedAddUlong (NDIS 5.1)。 支持 NDIS 5.1 驱动程序(请参阅 Windows XP 中的 NdisInterlockedAddUlong (NDIS 5.1) 。
目标平台 普遍
标头 ndis.h (包括 Ndis.h)
Ndis.lib
IRQL 任何级别

另请参阅

NdisAcquireSpinLock

NdisAllocateSpinLock

NdisReleaseSpinLock

NdisRetrieveUlong

NdisStoreUlong