KeInitializeMutex function (wdm.h)

The KeInitializeMutex routine initializes a mutex object, setting it to a signaled state.

Syntax

void KeInitializeMutex(
  [out] PRKMUTEX Mutex,
  [in]  ULONG    Level
);

Parameters

[out] Mutex

Pointer to a mutex object, for which the caller provides the storage. The storage must be 4-byte aligned on 32-bit platforms, and 8-byte aligned on 64-bit platforms.

[in] Level

Reserved. Drivers set this to zero.

Return value

None

Remarks

For better performance, use fast mutexes or guarded mutexes. For more information, see Alternatives to Mutex Objects.

The mutex object is initialized with an initial state of signaled.

Storage for a mutex object must be resident: in the device extension of a driver-created device object, in the controller extension of a driver-created controller object, or in nonpaged pool allocated by the caller.

For more information about mutex objects, see Mutex Objects.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 2000.
Target Platform Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Any level
DDI compliance rules HwStorPortProhibitedDDIs(storport)

See also

ExInitializeFastMutex

KeReadStateMutex

KeReleaseMutex

KeWaitForMultipleObjects

KeWaitForSingleObject