WdfInterruptReleaseLock callback function
[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
- Interrupt [in]
A handle to a framework interrupt object.
Return value
None.
A bug check occurs if the driver supplies an invalid object handle.
Remarks
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.
Examples
For a code example that uses WdfInterruptReleaseLock, see WdfInterruptAcquireLock.
Requirements
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, KmdfIrql, KmdfIrql2, WdfInterruptLock, WdfInterruptLockRelease |
See also