EVT_WDF_INTERRUPT_DISABLE - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdfinterrupt.h

EVT_WDF_INTERRUPT_DISABLE EvtWdfInterruptDisable;

NTSTATUS EvtWdfInterruptDisable(
  [in] WDFINTERRUPT Interrupt,
  [in] WDFDEVICE AssociatedDevice
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-wdfinterrupt-evt_wdf_interrupt_disable)

EVT_WDF_INTERRUPT_DISABLE callback function

Description

[Applies to KMDF and UMDF]

A driver's EvtInterruptDisable event callback function disables a specified hardware interrupt.

Parameters

Interrupt [in]

A handle to a framework interrupt object.

AssociatedDevice [in]

A handle to the framework device object that the driver passed to WdfInterruptCreate.

Return value

The EvtInterruptDisable callback function must return STATUS_SUCCESS or another status value for which NT_SUCCESS(status) equals TRUE if the function encounters no errors. Otherwise, this function must return a status value for which NT_SUCCESS(status) equals FALSE.

Remarks

To register an EvtInterruptDisable callback function, your driver must place the callback function's address in a WDF_INTERRUPT_CONFIG structure before calling WdfInterruptCreate.

The framework calls the driver's EvtInterruptDisable callback function each time the device leaves its working (D0) state. Additionally, a driver can cause the framework to call the EvtInterruptDisable callback function by calling WdfInterruptDisable. Note that most framework-based drivers should not call WdfInterruptDisable, because the framework calls the driver's EvtInterruptDisable callback function each time the device leaves its working (D0) state.

Before calling the EvtInterruptDisable callback function, the framework raises the processor's IRQL to the device's DIRQL and acquires the spin lock that the driver specified in the interrupt object's WDF_INTERRUPT_CONFIG structure.

Beginning with version 1.11 of KMDF, your driver can provide passive-level interrupt handling. If the driver has requested passive-level interrupt handling, then before calling the EvtInterruptDisable function at IRQL = PASSIVE_LEVEL, the framework acquires the passive-level interrupt lock that the driver configured in the interrupt object's WDF_INTERRUPT_CONFIG structure.

Before calling the EvtInterruptDisable callback function, the framework calls the driver's EvtDeviceD0ExitPreInterruptsDisabled event callback function at IRQL = PASSIVE_LEVEL.

For more information about handling interrupts in framework-based drivers, see Handling Hardware Interrupts.

See also

EvtDeviceD0ExitPreInterruptsDisabled

EvtInterruptEnable

WDF_INTERRUPT_CONFIG

WdfInterruptCreate

WdfInterruptDisable