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 以降でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL DISPATCH_LEVEL

こちらもご覧ください

LOCK_STATE_EX

NDIS_RW_LOCK_EX

NdisAcquireRWLockRead

NdisAcquireRWLockWrite