IoForwardIrpSynchronously 函数 (wdm.h)

IoForwardIrpSynchronously 例程将 IRP 发送到指定的驱动程序,并等待该驱动程序完成 IRP。

语法

BOOLEAN IoForwardIrpSynchronously(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

参数

[in] DeviceObject

指定 IRP 发送到的驱动程序的设备对象。

[in] Irp

指定要发送的 IRP。

返回值

如果 IRP 成功发送,IoForwardIrpSynchronously 将返回 TRUE。 否则,它将返回 FALSE

注解

使用 IoForwardIrpSynchronously 例程将当前 IRP 同步转发到堆栈中的下一个驱动程序。 (若要异步转发 IRP,请使用 IoCopyCurrentIrpStackLocationToNextIoCallDriverIoSetCompletionRoutine 例程.)

IoForwardIrpSynchronously 例程将当前堆栈位置复制到下一个堆栈位置。 然后, DeviceObject 中指定的驱动程序会将该堆栈位置用作当前堆栈位置。 如果没有下一个堆栈位置可用,则例程返回 FALSE。 如果例程返回 TRUE,则 IRP 已发送到指定的驱动程序,并且该驱动程序已完成对此 IRP 的处理。

要求

要求
最低受支持的客户端 在 Windows XP 和更高版本的 Windows 中可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI 符合性规则 PnpIrpCompletion (wdm)

另请参阅

IoCallDriver

IoCopyCurrentIrpStackLocationToNext

IoSetCompletionRoutine