Writing an Interrupt Service Routine (ISR)

Once the device operation begins, the actual data transfer is driven by the arrival of hardware interrupts. When an interrupt arrives, the driver's Interrupt Service routine acknowledges the request and either transfers the next piece of data or invokes a DPC routine.

Execution Context

When the kernel receives a device interrupt, it uses its collection of interrupt objects to locate an ISR willing to service the event. It does this by running through all the interrupt objects attached to the DIRQL of the interrupt and calling ISRs until one of them claims the interrupt.

The kernel interrupt dispatcher calls an ISR at the synchronization IRQL specified in the call to IoConnectInterrupt. Usually this ...

Get Windows® 2000 Device Driver Book: A Guide for Programmers, Second Edition, The now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.