ExInitializeFastMutex

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.

Parameters

FastMutex
Points to the caller-supplied storage, which must be at least sizeof(FAST_MUTEX), for the fast mutex variable being initialized.

Comments

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.

See Also

ExAcquireFastMutex, ExAcquireFastMutexUnsafe, ExReleaseFastMutex, ExReleaseFastMutexUnsafe, ExTryToAcquireFastMutex, KeInitializeMutex