Partager via


ExReleaseFastMutex, fonction (wdm.h)

La routine ExReleaseFastMutex libère la propriété d’un mutex rapide 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

Aucun

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éenable.

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

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

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

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000
d’en-tête wdm.h
IRQL APC_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

FAST_MUTEX

ExAcquireFastMutex

ExInitializeFastMutex

ExTryToAcquireFastMutex