IoGetNextIrpStackLocation function (wdm.h)

The IoGetNextIrpStackLocation routine gives a higher level driver access to the next-lower driver's I/O stack location in an IRP so the caller can set it up for the lower driver.

Syntax

__drv_aliasesMem PIO_STACK_LOCATION IoGetNextIrpStackLocation(
  [in] PIRP Irp
);

Parameters

[in] Irp

A pointer to the IRP.

Return value

IoGetNextIrpStackLocation returns a pointer to the next-lower-level driver's I/O stack location in the given IRP.

Remarks

Each driver that passes IRPs on to lower drivers must set up the stack location for the next lower driver. A driver calls IoGetNextIrpStackLocation to get a pointer to the next-lower driver's I/O stack location.

If a driver is passing the same parameters that it received to the next-lower driver, it should call IoCopyCurrentIrpStackLocationToNext or IoSkipCurrentIrpStackLocation instead of getting a pointer to the next-lower stack location and copying the parameters manually.

The return value is a pointer to an IO_STACK_LOCATION structure. For more information, see I/O Stack Locations.

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 Any level

See also

IO_STACK_LOCATION

IoCallDriver

IoCopyCurrentIrpStackLocationToNext

IoGetCurrentIrpStackLocation

IoSetNextIrpStackLocation

IoSkipCurrentIrpStackLocation