Partager via


NdisReleaseRWLock, fonction (ndis.h)

La fonction NdisReleaseRWLock libère un verrou en lecture/écriture que l’appelant utilise pour accéder aux ressources partagées entre les threads de pilote.

Syntaxe

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

Paramètres

[in] Lock

Pointeur vers une variable NDIS_RW_LOCK_EX opaque qui représente un verrou. L’appelant peut utiliser ce verrou pour obtenir un accès en écriture ou en lecture aux ressources partagées entre des threads de pilote non-ISR.

[in] LockState

Pointeur vers une variable opaque LOCK_STATE_EX qui effectue le suivi de l’état du verrou. Cette variable existe dans l’intervalle entre le moment où l’appelant obtient et libère le verrou. L’appelant doit utiliser une variable différente de type LOCK_STATE_EX pour chaque tentative d’obtention du verrou à partir du même thread de pilote non-ISR.

Valeur de retour

None

Remarques

Les pilotes NDIS appellent la fonction NdisReleaseRWLock pour libérer un verrou en lecture/écriture obtenu précédemment en appelant le
NdisAcquireRWLockRead ou NdisAcquireRWLockWrite , fonction.

Un pilote doit obtenir un verrou en lecture/écriture avant de pouvoir appeler NdisReleaseRWLock. Chaque appel pour obtenir un verrou nécessite un appel réciproque à NdisReleaseRWLock.

L’acquisition d’un NDIS_RW_LOCK_EX est affiniténée avec le processeur actuel. Les pilotes doivent appeler NdisReleaseRWLock sur le même processeur que celui qui a effectué l’appel correspondant à NdisAcquireRWLockRead ou NdisAcquireRWLockWrite.

NdisReleaseRWLock restaure l’IRQL d’origine utilisé par son appelant avant l’obtention du verrou.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
Plateforme cible Universal
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL DISPATCH_LEVEL

Voir aussi

LOCK_STATE_EX

NDIS_RW_LOCK_EX

NdisAcquireRWLockRead

NdisAcquireRWLockWrite