KeRaiseIrql macro (wdm.h)

The KeRaiseIrql routine raises the hardware priority to the specified IRQL value, thereby masking off interrupts of equivalent or lower IRQL on the current processor. For information about IRQLs, see Managing Hardware Priorities.


VOID KeRaiseIrql(
  _In_  KIRQL  NewIrql,
  _Out_ PKIRQL OldIrql


[in] a

The NewIrql parameter specifies the new KIRQL value to which the hardware priority is to be raised.

[out] b

The OldIrql parameter is a pointer to the storage for the original (unraised) KIRQL value to be used in a subsequent call to KeLowerIrql.

Return value



If the new IRQL is less than the current IRQL, a bug check occurs. Otherwise, the current IRQL is set to the specified value.

Callers of this routine can be running at any IRQL. Any caller should restore the original IRQL with KeLowerIrql as soon as possible.

A call to KeLowerIrql is valid if it specifies NewIrql <= CurrentIrql. A call to KeRaiseIrql is valid if the caller specifies NewIrql >= CurrentIrql.


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

See also