Partager via


ExReleaseFastMutex, fonction (wdm.h)

La routine ExReleaseFastMutex libère la propriété d’un mutex rapide qui a été acquis avec ExAcquireFastMutex ou ExTryToAcquireFastMutex.

Syntaxe

void ExReleaseFastMutex(
  PFAST_MUTEX FastMutex
);

Paramètres

FastMutex

[in, out] Pointeur vers le mutex rapide à libérer.

Valeur de retour

None

Remarques

ExReleaseFastMutex libère la propriété du mutex rapide donné et définit l’IRQL sur la valeur à laquelle l’appelant s’exécutait avant d’appeler ExAcquireFastMutex. Si l’IRQL précédent était inférieur à APC_LEVEL, la remise des API au thread actuel est réactivée.

Il s’agit d’une erreur de programmation d’appeler ExReleaseFastMutex avec un FastMutex qui a été acquis à l’aide d’ExAcquireFastMutexUnsafe. Les pilotes doivent libérer un mutex rapide à partir du thread qui l’a acquis. Les mutex rapides doivent être libérés dans l’ordre opposé à l’ordre dans lequel ils ont été acquis.

Pour plus d’informations sur les mutex rapides, consultez Mutexes rapides et Mutex guarded.

Les appelants d’ExReleaseFastMutex doivent s’exécuter sur IRQL = APC_LEVEL. Dans la plupart des cas, l’IRQL est déjà défini sur APC_LEVEL avant l’appel d’ExReleaseFastMutex , car ExAcquireFastMutex a déjà défini l’IRQL sur APC_LEVEL automatiquement. Toutefois, si l’appelant modifie l’IRQL après le retour d’ExAcquireFastMutex , l’appelant doit définir explicitement l’IRQL sur APC_LEVEL avant d’appeler ExReleaseFastMutex.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
En-tête wdm.h
IRQL APC_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

FAST_MUTEX

ExAcquireFastMutex

ExInitializeFastMutex

ExTryToAcquireFastMutex