Partager via


macro NDIS_RELEASE_MUTEX (ndis.h)

La macro NDIS_RELEASE_MUTEX libère l’objet mutex spécifié.

Syntaxe

void NDIS_RELEASE_MUTEX(
   _M_
);

Paramètres

_M_

Pointeur vers un objet mutex de type NDIS_MUTEX initialisé. L’appelant a initialisé l’objet mutex dans un appel antérieur à la macro NDIS_INIT_MUTEX . NDIS_MUTEX est un wrapper pour le type KMUTEX.

Valeur retournée

NDIS_RELEASE_MUTEX retourne une valeur LONG. Si la valeur de retour est zéro, l’objet mutex a été libéré et est dans l’état signalé. Si NDIS_RELEASE_MUTEX retourne une valeur différente de zéro, le mutex n’est pas dans l’état signalé.

Remarques

Les pilotes réseau NDIS doivent utiliser la macro NDIS_RELEASE_MUTEX pour libérer un mutex.

Seul le thread qui contient actuellement l’objet mutex peut le libérer. Sinon, une vérification d’erreur se produit. Une vérification d’erreur se produit également si un pilote tente de libérer un objet mutex à l’état signalé.

Pour acquérir le mutex, appelez la macro NDIS_WAIT_FOR_MUTEX . Si un mutex est acquis de manière récursive, le thread de conservation doit appeler NDIS_RELEASE_MUTEX le même nombre de fois qu’il a acquis le mutex pour le remettre à l’état signalé.

NDIS_RELEASE_MUTEX est un wrapper NDIS pour la routine KeReleaseMutex .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Universal
En-tête ndis.h
IRQL PASSIVE_LEVEL
Règles de conformité DDI Irql_Synch_Function(ndis)

Voir aussi

KeReleaseMutex

NDIS_INIT_MUTEX

NDIS_WAIT_FOR_MUTEX