Condividi tramite


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

WdfInterruptAcquireLock

WdfInterruptSynchronize

EvtInterruptDisable

EvtInterruptEnable

 

 

Send comments about this topic to Microsoft