IoGetNextIrpStackLocation 函数 (wdm.h)

IoGetNextIrpStackLocation 例程为 IRP 中的下一个较低驱动程序的 I/O 堆栈位置提供更高级别的驱动程序访问权限,以便调用方可以为较低的驱动程序设置该位置。

语法

__drv_aliasesMem PIO_STACK_LOCATION IoGetNextIrpStackLocation(
  [in] PIRP Irp
);

参数

[in] Irp

指向 IRP 的指针。

返回值

IoGetNextIrpStackLocation 返回指向给定 IRP 中下层驱动程序 I/O 堆栈位置 的指针。

言论

将 IRP 传递到较低驱动程序的每个驱动程序都必须设置下一个较低驱动程序的堆栈位置。 驱动程序调用 IoGetNextIrpStackLocation 以获取指向下一个较低驱动程序的 I/O 堆栈位置的指针。

如果驱动程序将接收到的相同参数传递给下一个较低的驱动程序,则应调用 IoCopyCurrentIrpStackLocationToNextIoSkipCurrentIrpStackLocation,而不是获取指向下一个较低堆栈位置的指针并手动复制参数。

返回值是指向 IO_STACK_LOCATION 结构的指针。 有关详细信息,请参阅 I/O 堆栈位置

要求

要求 价值
最低支持的客户端 从 Windows 2000 开始可用。
目标平台 桌面
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
IRQL 任何级别

另请参阅

IO_STACK_LOCATION

IoCallDriver

IoCopyCurrentIrpStackLocationToNext

IoGetCurrentIrpStackLocation

IoSetNextIrpStackLocation

IoSkipCurrentIrpStackLocation