Freigeben über


KeAcquireGuardedMutex-Funktion (wdm.h)

Die KeAcquireGuardedMutex-Routine erwirbt einen bewachten Mutex.

Syntax

void KeAcquireGuardedMutex(
  PKGUARDED_MUTEX Mutex
);

Parameter

Mutex

[ein, aus] Zeiger auf die KGUARDED_MUTEX-Struktur für den bewachten Mutex. Diese Struktur muss mit KeInitializeGuardedMutex initialisiert worden sein.

Rückgabewert

Keine

Bemerkungen

Verwenden Sie KeReleaseGuardedMutex , um ein mit KeAcquireGuardedMutex erworbenes Mutex freizugeben.

Wenn der Mutex verfügbar ist, wird KeAcquireGuardedMutex sofort zurückgegeben. Andernfalls wird der aufrufende Thread in einen Wartezustand versetzt, bis der Mutex verfügbar wird. Verwenden Sie KeTryToAcquireGuardedMutex, um den Wartezustand zu vermeiden, wenn der Mutex nicht verfügbar ist.

Ein Thread, der KeAcquireGuardedMutex aufruft , tritt implizit in eine bewachte Region ein, in der alle APCs deaktiviert sind. Sie bleiben deaktiviert, bis der Thread den Mutex mit KeReleaseGuardedMutex freigibt.

Ein bewachter Mutex kann nicht rekursiv abgerufen werden: Wenn ein Thread bereits den Mutex hält, wenn er KeAcquireGuardedMutex aufruft, wird der Thread deadlockt.

Weitere Informationen zu bewachten Mutexes finden Sie unter Fast Mutexes und Guarded Mutexes.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Server) Windows Server 2003
Kopfzeile wdm.h
IRQL <= APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), IrqlKeApcLte1(wdm)

Weitere Informationen

KGUARDED_MUTEX

KeReleaseGuardedMutex