IoCopyCurrentIrpStackLocationToNext 函数 (wdm.h)

IoCopyCurrentIrpStackLocationToNext 例程将 IRP 堆栈参数从当前 I/O 堆栈位置复制到下一个较低驱动程序的堆栈位置。

语法

void IoCopyCurrentIrpStackLocationToNext(
  [in, out] PIRP Irp
);

参数

[in, out] Irp

指向 IRP 的指针。

返回值

没有

言论

驱动程序调用 IoCopyCurrentIrpStackLocationToNext,将 IRP 参数从堆栈位置复制到下一个较低驱动程序的堆栈位置。

调用此例程后,驱动程序通常会使用 IoSetCompletionRoutine 设置 I/O 完成例程,然后再使用 IoCallDriver将 IRP 传递给下一个较低的驱动程序。 传递其 IRP 参数但未设置 I/O 完成例程的驱动程序应调用 IoSkipCurrentIrpStackLocation 而不是此例程。

如果驱动程序调用 IoSkipCurrentIrpStackLocation,请注意不要以无意中影响较低驱动程序或系统针对该驱动程序的行为的方式修改 IO_STACK_LOCATION 结构。 具体而言,驱动程序不应修改 IO_STACK_LOCATION 结构的 参数 联合,并且不应调用 IoMarkIrpPending 例程。

要求

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

另请参阅

IO_STACK_LOCATION

IoCallDriver

IoMarkIrpPending

IoSetCompletionRoutine

IoSkipCurrentIrpStackLocation