IoSetNextIrpStackLocation function (wdm.h)
The IoSetNextIrpStackLocation routine sets the IRP stack location in a driver-allocated IRP to that of the caller.
Syntax
void IoSetNextIrpStackLocation(
[in, out] PIRP Irp
);
Parameters
[in, out] Irp
Pointer to the IRP whose stack location is to be set.
Return value
None
Remarks
In general, this routine is seldom used by drivers. It is primarily used by drivers that require their own stack location in an IRP that they have allocated, on their own, to send to another driver.
IoSetNextIrpStackLocation is generally not needed because either:
- The driver received the IRP it is passing from another, higher-level driver, and so it already owns a stack location,
- Or, the driver allocated the IRP but does not need its own stack location because it can keep everything that it needs in a context block whose address can be passed to its IoCompletion routine.
A driver cannot call IoSetNextIrpStackLocation with any IRP it allocates by calling IoBuildAsynchronousFsdRequest, IoBuildDeviceIoControlRequest, or IoBuildSynchronousFsdRequest.
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 |