VOID
ExInitializeFastMutex(
IN PFAST_MUTEX FastMutex
);
ExInitializeFastMutex initializes a fast mutex variable, used to synchronize mutually exclusive access to a shared resource by a set of threads.
ExInitializeFastMutex must be called before any calls to other Ex..FastMutex routines occur.
Although the caller supplies the storage for the given fast mutex, the FAST_MUTEX structure is opaque: that is, its members are reserved for system use.
For better performance, use the Ex..FastMutex routines instead of the Ke..Mutex routines. However, a fast mutex cannot be acquired recursively, as a kernel mutex can.
Callers of ExInitializeFastMutex must be running at IRQL <= DISPATCH_LEVEL.
ExAcquireFastMutex, ExAcquireFastMutexUnsafe, ExReleaseFastMutex, ExReleaseFastMutexUnsafe, ExTryToAcquireFastMutex, KeInitializeMutex