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 |