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 de 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 de LOCK_STATE_EX opaque qui suit l’état du verrou. Cette variable existe dans l’intervalle entre les heures que l’appelant obtient et libère le verrou. L’appelant doit utiliser une variable de type différente LOCK_STATE_EX pour chaque tentative qu’il effectue pour obtenir le verrou à partir du même thread de pilote non-ISR.

Valeur de retour

Aucun

Remarques

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

Un pilote doit obtenir un verrou en lecture/écriture avant que le pilote puisse appeler NdisReleaseRWLock. Chaque appel pour obtenir un verrou nécessite un appel réciproque pour 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 le runtime d’intégration d’origine utilisé par son appelant avant l’obtention du verrou.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
plateforme cible Universel
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL DISPATCH_LEVEL

Voir aussi

LOCK_STATE_EX

NDIS_RW_LOCK_EX

NdisAcquireRWLockRead

NdisAcquireRWLockWrite