NdisReleaseRWLock 函数 (ndis.h)

NdisReleaseRWLock 函数释放一个读/写锁,调用方使用该锁来获取对驱动程序线程之间共享的资源的访问权限。

语法

void NdisReleaseRWLock(
  [in] PNDIS_RW_LOCK_EX Lock,
  [in] PLOCK_STATE_EX   LockState
);

参数

[in] Lock

指向表示锁的不透明 NDIS_RW_LOCK_EX 变量的指针。 调用方可以使用此锁来获取对非 ISR 驱动程序线程之间共享的资源的写入或读取访问权限。

[in] LockState

指向跟踪锁状态的不透明 LOCK_STATE_EX 变量的指针。 此变量存在于调用方获取和释放锁之间的时间间隔内。 调用方必须对从同一非 ISR 驱动程序线程获取锁的每次尝试使用LOCK_STATE_EX类型的不同变量。

返回值

备注

NDIS 驱动程序调用 NdisReleaseRWLock 函数以释放以前通过调用 获取的读/写锁
NdisAcquireRWLockRead NdisAcquireRWLockWrite 函数。

驱动程序必须先获取读/写锁,驱动程序才能调用 NdisReleaseRWLock。 每次调用以获取锁都需要对 NdisReleaseRWLock 进行倒数调用。

获取NDIS_RW_LOCK_EX将关联到当前处理器。 驱动程序必须在对 NdisAcquireRWLockRead 或 NdisAcquireRWLockWrite 进行相应调用的同一处理器上调用 NdisReleaseRWLock

NdisReleaseRWLock 还原其调用方在获取锁之前使用的原始 IRQL。

要求

要求
最低受支持的客户端 在 NDIS 6.20 及更高版本中受支持。
目标平台 通用
标头 ndis.h (包括 Ndis.h)
Library Ndis.lib
IRQL DISPATCH_LEVEL

另请参阅

LOCK_STATE_EX

NDIS_RW_LOCK_EX

NdisAcquireRWLockRead

NdisAcquireRWLockWrite