VOID
IoInitializeDpcRequest(
IN PDEVICE_OBJECT DeviceObject,
IN PIO_DPC_ROUTINE DpcRoutine
);
IoInitializeDpcRequest registers a driver-supplied DpcForIsr routine when a device driver initializes.
VOID (*PIO_DPC_ROUTINE)( IN PKDPC Dpc, IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context );
IoInitializeDpcRequest associates a driver-supplied DpcForIsr routine with a given device object so the driver’s ISR can call IoRequestDpc to queue the DpcForIsr. This routine completes interrupt-driven I/O operations at a lower IRQL than that of the ISR.
Callers of IoInitializeDpcRequest must be running at IRQL PASSIVE_LEVEL.
It is possible to call KeInitializeDpc to initialize another DPC at IRQL <= DISPATCH_LEVEL.