ExAcquireFastMutexUnsafe-Funktion (wdm.h)
Die ExAcquireFastMutexUnsafe-Routine ruft den angegebenen schnellen Mutex für den aufrufenden Thread ab.
Syntax
void ExAcquireFastMutexUnsafe(
PFAST_MUTEX FastMutex
);
Parameter
FastMutex
[in, out] Ein Zeiger auf eine FAST_MUTEX)-Struktur, für die der Aufrufer den Speicher bereitstellt. Der Aufrufer hat diese Struktur zuvor durch einen Aufruf der ExInitializeFastMutex-Routine initialisiert.
Rückgabewert
Keine
Bemerkungen
ExAcquireFastMutexUnsafe versetzt den Aufrufer in einen Wartezustand, wenn der angegebene schnelle Mutex nicht sofort abgerufen werden kann. Andernfalls erhält der Aufrufer den Besitz des Mutex und exklusiven Zugriff auf die Ressource, die der Mutex schützt, bis der Aufrufer den Mutex freigibt.
Jeder schnelle Mutex, der durch einen Aufruf von ExAcquireFastMutexUnsafe abgerufen wird, muss durch einen Aufruf der ExReleaseFastMutexUnsafe-Routine freigegeben werden.
Die Routinen ExAcquireFastMutex und ExAcquireFastMutexUnsafe führen dazu, dass der aufrufende Thread blockiert wird, bis der Mutex verfügbar ist. Die ExTryToAcquireFastMutex-Routine gibt sofort mit dem Rückgabewert FALSE zurück, wenn der Mutex bereits von einem anderen Thread abgerufen wurde. Sowohl ExAcquireFastMutex als auch ExTryToAcquireFastMutex heben den IRQL auf APC_LEVEL an, bevor der schnelle Mutex erworben wird. Treiber sollten ExAcquireFastMutexUnsafe verwenden, wodurch die IRQL nicht ausgelöst wird, nur wenn eine der folgenden Punkte zutrifft:
Der Thread wird bereits bei APC_LEVEL ausgeführt.
Der Thread ruft den Mutex in einem kritischen Bereich ab, der zuvor durch einen Aufruf der KeEnterCriticalRegion - oder FsRtlEnterFileSystem-Routine eingegeben wurde.
Weitere Informationen zu schnellen Mutexes finden Sie in den folgenden Themen:
Schnelle Mutexes und geschützte Mutexe
Sperren, Deadlocks und Synchronisierung
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 |
Kopfzeile | wdm.h |
IRQL | APC_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport) |