ExReleaseFastMutex function (wdm.h)
The ExReleaseFastMutex routine releases ownership of a fast mutex that was acquired with ExAcquireFastMutex or ExTryToAcquireFastMutex.
Syntax
void ExReleaseFastMutex(
PFAST_MUTEX FastMutex
);
Parameters
FastMutex
[in, out] A pointer to the fast mutex to be released.
Return value
None
Remarks
ExReleaseFastMutex releases ownership of the given fast mutex and sets the IRQL to the value that the caller was running at before it called ExAcquireFastMutex. If the previous IRQL was less than APC_LEVEL, the delivery of APCs to the current thread is reenabled.
It is a programming error to call ExReleaseFastMutex with a FastMutex that was acquired using ExAcquireFastMutexUnsafe. Drivers should release a fast mutex from the same thread that acquired it. Fast mutexes should be released in the opposite order from the order they were acquired.
For more information about fast mutexes, see Fast Mutexes and Guarded Mutexes.
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 because ExAcquireFastMutex has already set the IRQL to APC_LEVEL 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.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 |
Header | wdm.h |
IRQL | APC_LEVEL |
DDI compliance rules | HwStorPortProhibitedDDIs(storport) |
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for