iofCompleteRequest 函数 (wdm.h)

IoCompleteRequest 宏指示调用方已完成给定 I/O 请求的所有处理,并将给定的 IRP 返回到 I/O 管理器。

IoCompleteRequest 包装 IofCompleteRequest

语法

void IofCompleteRequest(
  PIRP  Irp,
  CCHAR PriorityBoost
);

参数

Irp

指向要完成的 IRP 的指针。

PriorityBoost

指定系统定义的 CCHAR 常量,根据该常量递增请求操作的原始线程的运行时优先级。 如果原始线程请求的操作,驱动程序可以快速完成 (,因此请求线程不会因) i/O 完成而假定的等待) 或 IRP 完成时出现错误而得到补偿,则此值IO_NO_INCREMENT。 否则, PriorityBoost 常量集特定于设备类型。 有关这些常量,请参阅 Ntddk.h 或 Wdm.h。

返回值

备注

当驱动程序完成给定 IRP 的所有处理后,它将调用 IoCompleteRequest。 I/O 管理器检查 IRP 以确定是否有更高级别的驱动程序为 IRP 设置了 IoCompletion 例程。 如果是这样,则依次调用每个 IoCompletion 例程,直到链中的每个分层驱动程序都完成了 IRP。

当所有驱动程序都完成了给定的 IRP 时,I/O 管理器会将状态返回到操作的原始请求者。 请注意,设置驱动程序创建的 IRP 的更高级别的驱动程序必须提供 IoCompletion 例程才能释放其创建的 IRP。

切勿在按住旋转锁时调用 IoCompleteRequest 。 尝试在按住旋转锁时完成 IRP 可能会导致死锁。

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 CompleteRequest、CompleteRequestStatusCheck、 DoubleCompletion (wdm) HwStorPortProhibitedDDI (storport) 、IoAllocateComplete、IoBuildFsdComplete、IoSetCompletionExCompleteIrp、 IrpProcessingComplete (wdm) 、MarkIrpPending、 PendedCompletedRequest (wdm) 、PendedCompletedRequest2、PendedCompletedRequest3、 PendedCompletedRequestEx (wdm) PnpIrpCompletion (wdm) 、SpinLockSafe (storport) , SpinLockSafe (wdm) WmiComplete (wdm)

另请参阅

IoSetCompletionRoutine