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 堆栈位置,以确定正在请求的操作。
如果驱动程序将收到的相同参数传递给下一级驱动程序,则应调用 IoCopyCurrentIrpStackLocationToNext 或 IoSkipCurrentIrpStackLocation ,而不是获取指向下一个较低堆栈位置的指针并手动复制参数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 桌面 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
IRQL | 任何级别 |