PFN_WDFINTERRUPTRELEASELOCK - NtDoc

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

VOID WdfInterruptReleaseLock(
  [in] WDFINTERRUPT Interrupt
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-wdfinterrupt-wdfinterruptreleaselock)

PFN_WDFINTERRUPTRELEASELOCK function

Description

[Applies to KMDF and UMDF]

The WdfInterruptReleaseLock method ends a code sequence that executes at the device's DIRQL while holding an interrupt object's spin lock.

For passive level interrupt objects, the method ends a code sequence that executes at passive level while holding an interrupt object's passive lock.

Parameters

Interrupt [in]

A handle to a framework interrupt object.

Prototype

VOID
(*PFN_WDFINTERRUPTRELEASELOCK)(
    IN PWDF_DRIVER_GLOBALS DriverGlobals,
    WDFINTERRUPT Interrupt
    );

Remarks

A bug check occurs if the driver supplies an invalid object handle.

The WdfInterruptReleaseLock method releases the specified interrupt object's spin lock or wait lock and returns the processor's IRQL to the level that it was set to before the driver called WdfInterruptAcquireLock.

Your driver cannot call WdfInterruptReleaseLock before the framework has called the driver's EvtInterruptEnable callback function or after the framework has called the driver's EvtInterruptDisable callback function.

For more information about the WdfInterruptReleaseLock method, see Synchronizing Interrupt Code.

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

This method must be called at the DIRQL that was set by WdfInterruptAcquireLock.

For passive level interrupts, the driver must call WdfInterruptReleaseLock at IRQL = PASSIVE_LEVEL.

See also