Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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(
[in, out] PIRP Irp
);
Parameters
[in, out] Irp
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
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 2000. |
Target Platform | Desktop |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | <=DISPATCH_LEVEL |