NDIS_INIT_MUTEX macro (ndis.h)

The NDIS_INIT_MUTEX macro initializes a mutex object and sets it to a signaled state.

Syntax

void NDIS_INIT_MUTEX(
   _M_
);

Parameters

_M_

A pointer to a caller-supplied NDIS_MUTEX-type mutex object. NDIS_MUTEX is a wrapper for KMUTEX.

Return value

None

Remarks

NDIS network drivers should use the NDIS_INIT_MUTEX macro to initialize a mutex.

The initial state of the mutex object is the signaled state. To acquire the mutex, call the NDIS_WAIT_FOR_MUTEX macro. To release the mutex, call the NDIS_RELEASE_MUTEX macro.

A driver cannot wait for a nonzero time interval on a mutex object at a raised IRQL or in an arbitrary thread context (that is, the context of whatever thread is current when a driver function is called).

Storage for a mutex object must reside in a driver context area or in a nonpaged pool that the caller allocated.

The NDIS_INIT_MUTEX macro is an NDIS wrapper for the KeInitializeMutex routine.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.0 and later.
Target Platform Universal
Header ndis.h
IRQL Any level

See also

KeInitializeMutex

NDIS_RELEASE_MUTEX

NDIS_WAIT_FOR_MUTEX