IoGetCurrentIrpStackLocation 函数 (wdm.h)

IoGetCurrentIrpStackLocation 例程返回指向指定 IRP 中调用方 I/O 堆栈位置的指针。

语法

__drv_aliasesMem PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(
  [in] PIRP Irp
);

参数

[in] Irp

指向 IRP的指针。

返回值

IoGetCurrentIrpStackLocation 返回指向包含驱动程序 I/O 堆栈位置的 IO_STACK_LOCATION 结构的指针。

言论

每个驱动程序都必须调用 IoGetCurrentIrpStackLocation,并发送每个 IRP 才能获取当前请求的任何参数。 除非驱动程序为每个驱动程序处理的每个 IRP_MJ_XXX 代码提供调度例程,否则驱动程序还必须在 IRP 中检查其 I/O 堆栈位置以确定正在请求的作。

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

要求

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

另请参阅

IO_STACK_LOCATION

IRP

IoCallDriver

IoGetNextIrpStackLocation

IoSetNextIrpStackLocation