IoRequestDpc

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.

Parameters

DeviceObject

Points to the device object for which the request that caused the interrupt is being processed.

Irp

Points to the current IRP for the specified device.

Context

Points to a driver-determined context to be passed to the DPC routine.

Comments

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.

See Also

IoInitializeDpcRequest, KeInitializeDpc, KeInsertQueueDpc