pcForwardIrpSynchronous 函数 (portcls.h)

IRP 处理程序使用 PcForwardIrpSynchronous 函数将 即插即用 IRP 转发到物理设备对象 (PDO)

语法

PORTCLASSAPI NTSTATUS PcForwardIrpSynchronous(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

参数

[in] DeviceObject

指向音频设备的设备对象的指针。 此参数必须指向 DEVICE_OBJECT 类型的系统结构。

[in] Irp

指向要转发的 IRP 的指针

返回值

如果调用成功,PcForwardIrpSynchronous 将返回STATUS_SUCCESS。 否则,它将返回相应的错误代码。

注解

PcForwardIrpSynchronous 会导致下一个 PDO 接收 IRP 并阻止,直到物理设备驱动程序完成 IRP。 此时, PcForwardIrpSynchronous 将取消阻止并返回到调用方。 调用方 (IRP 处理程序) 最终应返回 ,状态可能为 STATUS_PENDING。 通常,任何调用此函数的 IRP 处理程序都必须指定返回时IRP_ACTION_FINISH的操作。 任何其他操作都会导致 IRP 再次转发到物理设备。

当 IRP 处理程序返回STATUS_PENDING并且 IRP 稍后必须完成时,将使用 PcCompleteIrp 函数。

要求

要求
最低受支持的客户端 PortCls 系统驱动程序在 Microsoft Windows 98/Me 和 Windows 2000 及更高版本的操作系统中实现 PcForwardIrpSynchronous 函数。
目标平台 通用
标头 portcls.h (包括 Portcls.h)
Library Portcls.lib
IRQL PASSIVE_LEVEL

另请参阅

DEVICE_OBJECT

IRP

PcCompleteIrp