NDIS_LOWER_IRQL macro (ndis.h)

The NDIS_LOWER_IRQL macro sets the IRQL on the current processor to the specified value.

Syntax

void NDIS_LOWER_IRQL(
   _OldIrql_,
   _CurIrql_
);

Parameters

_OldIrql_

The original (that is, unraised) IRQL value from before the driver called the NDIS_RAISE_IRQL_TO_DISPATCH macro. NDIS_LOWER_IRQL sets the IRQL to this value.

_CurIrql_

The current IRQL value that is active before the call to NDIS_LOWER_IRQL.

Return value

None

Remarks

NDIS network drivers should use the NDIS_LOWER_IRQL macro to restore the IRQL setting that existed before a call to the NDIS_RAISE_IRQL_TO_DISPATCH macro.

If the value that the _OldIrql_ parameter specifies is not equal to the current IRQL, the NDIS_LOWER_IRQL macro attempts to lower the IRQL to the value that the _OldIrql_ parameter specifies.

It is a fatal error to call NDIS_LOWER_IRQL and use a value for _OldIrql_ that was not returned from an immediately preceding call to the NDIS_RAISE_IRQL_TO_DISPATCH macro.

NDIS_LOWER_IRQL is an NDIS wrapper for the KeLowerIrql routine.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.0 and later.
Target Platform Universal
Header ndis.h
IRQL Any level (see Remarks section)
DDI compliance rules Irql_IrqlSetting_Function(ndis)

See also

KeLowerIrql

NDIS_RAISE_IRQL_TO_DISPATCH