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 會與目前的處理器同質化。 驅動程式必須在對 NdisAcquireRWLockReadNdisAcquireRWLockWrite 進行對應呼叫的相同處理器上呼叫 NdisReleaseRWLock

NdisReleaseRWLock 會還原其呼叫端在取得鎖定之前所使用的原始 IRQL。

規格需求

需求
最低支援的用戶端 NDIS 6.20 和更新版本支援。
目標平台 Universal
標頭 ndis.h (包含 Ndis.h)
程式庫 Ndis.lib
IRQL DISPATCH_LEVEL

另請參閱

LOCK_STATE_EX

NDIS_RW_LOCK_EX

NdisAcquireRWLockRead

NdisAcquireRWLockWrite