Export (0) Print
Expand All
Expand Minimize

IoRequestDpc routine

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_  PVOID Context
);

Parameters

DeviceObject [in]

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

Irp [in]

Pointer to the current IRP for the specified device.

Context [in]

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

Version

Available starting with Windows 2000.

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

IRQL

DIRQL

See also

IoInitializeDpcRequest
KeInitializeDpc
KeInsertQueueDpc

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft