[Applies to KMDF and UMDF]
The WdfInterruptQueueWorkItemForIsr method queues a framework interrupt object's EvtInterruptWorkItem callback function for execution.
BOOLEAN WdfInterruptQueueWorkItemForIsr( WDFINTERRUPT Interrupt );
A handle to a framework interrupt object.
If the driver's ISR is running at IRQL = PASSIVE_LEVEL, WdfInterruptQueueWorkItemForIsr returns TRUE if it successfully queues the interrupt object's EvtInterruptWorkItem callback function. The method returns FALSE if the callback function was previously queued and has not executed.
If the driver's ISR is running at IRQL = DIRQL, the framework first queues an internal DPC and then queues a work item from that DPC. In this case, <b>WdfInterruptQueueWorkItemForIsr</b> returns <b>TRUE</b> if the framework successfully queues the internal DPC. The method returns <b>FALSE</b> if the internal DPC was previously queued.
A bug check occurs if the driver supplies an invalid object handle.
Drivers typically call WdfInterruptQueueWorkItemForIsr from within an EvtInterruptIsr callback function.
An interrupt object's EvtInterruptWorkItem callback function can be queued only once before it executes. Therefore, if a call to WdfInterruptQueueWorkItemForIsr succeeds, subsequent calls will not queue additional callbacks.
For more information about handling interrupts in framework-based drivers, see Handling Hardware Interrupts.
A bug check occurs if drivers call WdfInterruptQueueWorkItemForIsr with an interrupt object that does not specify an EvtInterruptWorkItem callback function.
|Minimum KMDF version||1.11|
|Minimum UMDF version||2.0|
|Header||wdfinterrupt.h (include Wdf.h)|
|Library||Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)|
|DDI compliance rules||DriverCreate|