The ExReleaseFastMutex routine releases ownership of a fast mutex that was acquired with ExAcquireFastMutex or ExTryToAcquireFastMutex.
VOID
ExReleaseFastMutex(
IN PFAST_MUTEX FastMutex
);
None
Declared in wdm.h and ntddk.h. Include wdm.h or ntddk.h.
ExReleaseFastMutex releases ownership of the given fast mutex and reenables the delivery of APCs to the current thread.
It is a programming error to call ExReleaseFastMutex with a FastMutex that was acquired using ExAcquireFastMutexUnsafe.
Callers of ExReleaseFastMutex must be running at IRQL = APC_LEVEL. In most cases the IRQL will already be set to APC_LEVEL before ExReleaseFastMutex is called. This is because ExAcquireFastMutex has already set the IRQL to the appropriate value automatically. However, if the caller changes the IRQL after ExAcquireFastMutex returns, the caller must explicitly set the IRQL to APC_LEVEL prior to calling ExReleaseFastMutex.
ExAcquireFastMutex, ExInitializeFastMutex, ExTryToAcquireFastMutex