共用方式為


iofCompleteRequest 函式 (wdm.h)

IoCompleteRequest 宏表示呼叫端已完成指定 I/O 要求的所有處理,並將指定的 IRP 傳回給 I/O 管理員。

IoCompleteRequest 包裝 IofCompleteRequest

語法

void IofCompleteRequest(
  PIRP  Irp,
  CCHAR PriorityBoost
);

參數

Irp

要完成之 IRP 的指標。

PriorityBoost

指定系統定義的 CCHAR 常數,以遞增要求作業之原始線程的運行時間優先順序。 如果原始線程要求作業,驅動程式可以快速完成 (這個 IO_NO_INCREMENT值,因此要求線程不會補償其假設的等候 I/O) 完成,或 IRP 是否已完成錯誤。 否則, PriorityBoost 常數集合是裝置類型特定的。 如需這些常數,請參閱 Ntddk.h 或 Wdm.h。

傳回值

備註

當驅動程式已完成指定 IRP 的所有處理時,它會呼叫 IoCompleteRequest。 I/O 管理員會檢查 IRP,以判斷是否有任何較高層級的驅動程式已為 IRP 設定 IoCompletion 例程。 如果是,則會接著呼叫每個 IoCompletion 例程,直到鏈結中的每個分層驅動程式都已完成IRP為止。

當所有驅動程式都已完成指定的 IRP 時,I/O 管理員會將狀態傳回給作業的原始要求者。 請注意,設定驅動程式所建立 IRP 的較高層級驅動程式必須提供 IoCompletion 例程來釋放所建立的 IRP。

一律不要在按住微調鎖定時呼叫 IoCompleteRequest 。 嘗試在按住微調鎖定時完成 IRP 可能會導致死結。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 CompleteRequest、CompleteRequestStatusCheck、 DoubleCompletion (wdm) HwStorPortProhibitedDDIs (storport) 、IoAllocateComplete、IoBuildFsdComplete、IoSetCompletionExCompleteIrp、 IrpProcessingComplete (wdm) 、MarkIrpPending、 PendedCompletedRequest (wdm) 、 PendedCompletedRequest2、 PendedCompletedRequest3、 PendedCompletedRequestEx (wdm ) 、 PnpIrpCompletion (wdm) 、 SpinLockSafe (storport) , SpinLockSafe (wdm) WmiComplete (wdm)

另請參閱

IoSetCompletionRoutine