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) |