IoRequestDpc function (wdm.h)
The IoRequestDpc routine queues a driver-supplied DpcForIsr routine to complete interrupt-driven I/O processing at a lower IRQL.
Syntax
void IoRequestDpc(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp,
[in] __drv_aliasesMem PVOID Context
);
Parameters
[in] DeviceObject
Pointer to the device object for which the request that caused the interrupt is being processed.
[in] Irp
Pointer to the current IRP for the specified device.
[in] Context
Pointer to a driver-determined context to be passed to the DPC routine.
Return value
None
Remarks
Callers of IoRequestDpc must be running at DIRQL.
Drivers call IoRequestDpc from an InterruptService routine. Because of this, IoRequestDpc runs at the DIRQL value that was specified by SynchronizeIrql when the driver called IoConnectInterrupt. However, it is also possible to queue a DPC at any IRQL >= DISPATCH_LEVEL by using the KeXxxDpc routines. For more information, see Which Type of DPC Should You Use?
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 2000. |
Target Platform | Desktop |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | DIRQL |
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for