Fonction ExAcquireFastMutexUnsafe (wdm.h)
La routine ExAcquireFastMutexUnsafe acquiert le mutex rapide spécifié pour le thread appelant.
Syntaxe
void ExAcquireFastMutexUnsafe(
PFAST_MUTEX FastMutex
);
Paramètres
FastMutex
[in, out] Pointeur vers une structure FAST_MUTEX) pour laquelle l’appelant fournit le stockage. L’appelant a précédemment initialisé cette structure par un appel à la routine ExInitializeFastMutex
Valeur de retour
None
Remarques
ExAcquireFastMutexUnsafe place l’appelant dans un état d’attente si le mutex rapide spécifié ne peut pas être acquis immédiatement. Sinon, l’appelant est propriétaire du mutex et dispose d’un accès exclusif à la ressource que le mutex protège jusqu’à ce que l’appelant libère le mutex.
Tout mutex rapide acquis par un appel à ExAcquireFastMutexUnsafe doit être libéré par un appel à la routine ExReleaseFastMutexUnsafe .
Les routines ExAcquireFastMutex et ExAcquireFastMutexUnsafe provoquent le blocage du thread appelant jusqu’à ce que le mutex soit disponible. La routine ExTryToAcquireFastMutex retourne immédiatement avec la valeur de retour FALSE si un autre thread a déjà acquis le mutex. ExAcquireFastMutex et ExTryToAcquireFastMutex lèvent l’IRQL à APC_LEVEL avant d’acquérir le mutex rapide. Les pilotes doivent utiliser ExAcquireFastMutexUnsafe, qui ne déclenche pas l’IRQL, uniquement si l’une des conditions suivantes est vraie :
Le thread est déjà en cours d’exécution à APC_LEVEL.
Le thread acquiert le mutex dans une région critique précédemment entrée par un appel à la routine KeEnterCriticalRegion ou FsRtlEnterFileSystem .
Pour plus d’informations sur les mutex rapides, consultez les rubriques suivantes :
Mutex rapides et mutex surveillés
Verrous, interblocages et synchronisation
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) |