Freigeben über


ExReleaseFastMutex-Funktion (wdm.h)

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

Syntax

void ExReleaseFastMutex(
  PFAST_MUTEX FastMutex
);

Parameter

FastMutex

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

Rückgabewert

Keine

Bemerkungen

ExReleaseFastMutex gibt den Besitz des angegebenen schnellen Mutex frei und legt den IRQL auf den Wert fest, unter dem der Aufrufer ausgeführt wurde, bevor er ExAcquireFastMutex aufgerufen hat. Wenn der vorherige IRQL kleiner als APC_LEVEL war, wird die Bereitstellung von APCs an den aktuellen Thread wieder aktiviert.

Es handelt sich um einen Programmierfehler, ExReleaseFastMutex mit einem FastMutex-Element aufzurufen, das mit ExAcquireFastMutexUnsafe abgerufen wurde. Treiber sollten einen schnellen Mutex aus demselben Thread freigeben, der ihn abgerufen hat. Schnelle Mutexe sollten in der entgegengesetzten Reihenfolge von der Reihenfolge, in der sie erworben wurden, freigegeben werden.

Weitere Informationen zu schnellen Mutexes 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 der IRQL bereits auf APC_LEVEL festgelegt, bevor ExReleaseFastMutex aufgerufen wird, da ExAcquireFastMutex den IRQL bereits auf APC_LEVEL automatisch festgelegt hat. Wenn der Aufrufer jedoch den IRQL nach der Rückgabe von ExAcquireFastMutex ändert, muss der Aufrufer den IRQL vor dem Aufruf von ExReleaseFastMutex explizit auf APC_LEVEL festlegen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000
Kopfzeile wdm.h
IRQL APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport)

Weitere Informationen

FAST_MUTEX

ExAcquireFastMutex

ExInitializeFastMutex

ExTryToAcquireFastMutex