Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The code for supporting and servicing interrupts is similar in WDF and WDM drivers. There is one primary difference:
- A WDF driver creates the WDFINTERRUPT object and registers its interrupt service routine (ISR) callback by calling WdfInterruptCreate from its EvtDriverDeviceAdd callback.
- A WDM driver creates a KINTERRUPT structure and connects it during IRP_MN_START_DEVICE processing.
The EvtInterruptIsr callback in a WDF driver performs the same tasks as the WDM driver’s InterruptService routine. The EvtInterruptIsr callback calls WdfInterruptQueueDpcForIsr to queue the EvtInterruptDpc callback for later processing at DISPATCH_LEVEL. In response, the framework adds a DPC object to the system queue that runs this callback.
For more information about framework interrupt objects, see Handling Hardware Interrupts.