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 结构的指针。

注解

每个驱动程序都必须使用发送的每个 IRP 调用 IoGetCurrentIrpStackLocation ,以获取当前请求的任何参数。 除非驱动程序为驱动程序处理的每个 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