8.1.2 Additional Required Driver Routines

Every NT driver that has an ISR also must have a DpcForIsr or CustomDpc routine. At the driver writer’s discretion, any NT device driver can have additional CustomDpc routines, used to complete particular kinds of interrupt-driven I/O operations.

If any driver routine shares data, device registers, or context information with the driver’s ISR, that driver also must have one or more SynchCritSection routines.

Note that in a Windows NT uniprocessor machine, the ISR must return before the DpcForIsr or a CustomDpc routine can execute. However, it is possible for the ISR and DpcForIsr (or a CustomDpc) to run concurrently in an SMP machine.

For more information about DpcForIsr and CustomDpc routines, see Chapter 9. For more information about SynchCritSection routines, see Chapter 10.