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