WdfInterruptReleaseLock function (wdfinterrupt.h)

[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.

Syntax

void WdfInterruptReleaseLock(
  [in] WDFINTERRUPT Interrupt
);

Parameters

[in] Interrupt

A handle to a framework interrupt object.

Return value

None

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.

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header wdfinterrupt.h (include Wdf.h)
IRQL See Remarks section.
DDI compliance rules DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), WdfInterruptLock(kmdf), WdfInterruptLockRelease(kmdf)

See also