VOID
IoRequestDpc(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
IoRequestDpc queues a driver-supplied DpcForIsr routine from the ISR to complete interrupt-driven I/O processing at a lower IRQL.
Callers of IoRequestDpc must be running at DIRQL.
Because IoRequestDpc is called from the device driver’s ISR, the DIRQL is the SynchronizeIrql value that was specified when the driver called IoConnectInterrupt. However, it is actually possible to queue a DPC at any IRQL >= DISPATCH_LEVEL using the Ke..Dpc routines.