Export (0) Print
Expand All
Expand Minimize

IoCopyCurrentIrpStackLocationToNext routine

The IoCopyCurrentIrpStackLocationToNext routine copies the IRP stack parameters from the current I/O stack location to the stack location of the next-lower driver.

Syntax


VOID IoCopyCurrentIrpStackLocationToNext(
  _Inout_  PIRP Irp
);

Parameters

Irp [in, out]

A pointer to the IRP.

Return value

None

Remarks

A driver calls IoCopyCurrentIrpStackLocationToNext to copy the IRP parameters from its stack location to the next-lower driver's stack location.

After calling this routine, a driver typically sets an I/O completion routine with IoSetCompletionRoutine before passing the IRP to the next-lower driver with IoCallDriver. Drivers that pass on their IRP parameters but do not set an I/O completion routine should call IoSkipCurrentIrpStackLocation instead of this routine.

If your driver calls IoSkipCurrentIrpStackLocation, be careful not to modify the IO_STACK_LOCATION structure in a way that could unintentionally affect the lower driver or the system's behavior with respect to that driver. In particular, your driver should not modify the IO_STACK_LOCATION structure's Parameters union, and should not call the IoMarkIrpPending routine.

Requirements

Version

Available starting with Windows 2000.

Header

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

IRQL

<=DISPATCH_LEVEL

See also

IO_STACK_LOCATION
IoCallDriver
IoMarkIrpPending
IoSetCompletionRoutine
IoSkipCurrentIrpStackLocation

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft