Auf Englisch lesen

Freigeben über


ExReleaseFastMutex-Funktion (wdm.h)

Die ExReleaseFastMutex Routine gibt den Besitz eines schnellen Mutex frei, der mit ExAcquireFastMutex oder ExTryToAcquireFastMutexerworben wurde.

Syntax

C++
void ExReleaseFastMutex(
  PFAST_MUTEX FastMutex
);

Parameter

FastMutex

[in, out] Ein Zeiger auf den schnellen Mutex, der losgelassen werden soll.

Rückgabewert

Nichts

Bemerkungen

ExReleaseFastMutex den Besitz des angegebenen schnellen Mutex los und legt die IRQL auf den Wert fest, bei dem der Aufrufer ausgeführt wurde, bevor er ExAcquireFastMutexaufgerufen hat. Wenn die vorherige IRQL kleiner als APC_LEVEL war, wird die Übermittlung von APCs an den aktuellen Thread erneut aktiviert.

Es ist ein Programmierfehler, ExReleaseFastMutex mit einer FastMutex- aufzurufen, die mit ExAcquireFastMutexUnsafeabgerufen wurde. Treiber sollten einen schnellen Mutex aus demselben Thread freigeben, der es erworben hat. Schnelle Mutexe sollten in der entgegengesetzten Reihenfolge aus der Bestellung freigegeben werden, die sie erworben haben.

Weitere Informationen zu schnellen Mutexen finden Sie unter Fast Mutexes und Guarded Mutexes.

Aufrufer von ExReleaseFastMutex- müssen unter IRQL = APC_LEVEL ausgeführt werden. In den meisten Fällen wird die IRQL bereits auf APC_LEVEL festgelegt, bevor ExReleaseFastMutex- aufgerufen wird, da ExAcquireFastMutex- die IRQL bereits automatisch auf APC_LEVEL festgelegt hat. Wenn der Aufrufer die IRQL jedoch nach Rückgabe von ExAcquireFastMutex ändert, muss der Aufrufer die IRQL explizit auf APC_LEVEL festlegen, bevor ExReleaseFastMutexaufgerufen wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Header- wdm.h
IRQL- APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport)

Siehe auch

FAST_MUTEX

ExAcquireFastMutex-

ExInitializeFastMutex

ExTryToAcquireFastMutex