IoGetCurrentIrpStackLocation function (wdm.h)

The IoGetCurrentIrpStackLocation routine returns a pointer to the caller's I/O stack location in the specified IRP.

Syntax

__drv_aliasesMem PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(
  [in] PIRP Irp
);

Parameters

[in] Irp

A pointer to the IRP.

Return value

IoGetCurrentIrpStackLocation returns a pointer to an IO_STACK_LOCATION structure that contains the I/O stack location for the driver.

Remarks

Every driver must call IoGetCurrentIrpStackLocation with each IRP it is sent in order to get any parameters for the current request. Unless a driver supplies a dispatch routine for each IRP_MJ_XXX code that the driver handles, the driver also must check its I/O stack location in the IRP to determine what operation is being requested.

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.

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

IRP

IoCallDriver

IoGetNextIrpStackLocation

IoSetNextIrpStackLocation