Fungsi IofCompleteRequest (wdm.h)

Makro IoCompleteRequest menunjukkan bahwa pemanggil telah menyelesaikan semua pemrosesan untuk permintaan I/O tertentu dan mengembalikan IRP yang diberikan ke manajer I/O.

IoCompleteRequest membungkus IofCompleteRequest.

Sintaksis

C++
void IofCompleteRequest(
  PIRP  Irp,
  CCHAR PriorityBoost
);

Parameter

Irp

Penunjuk ke IRP yang akan diselesaikan.

PriorityBoost

Menentukan konstanta CCHAR yang ditentukan sistem untuk menaikkan prioritas run-time dari utas asli yang meminta operasi. Nilai ini IO_NO_INCREMENT jika utas asli meminta operasi yang dapat diselesaikan driver dengan cepat (sehingga utas yang meminta tidak dikompensasi karena diasumsikan menunggu I/O selesai) atau jika IRP selesai dengan kesalahan. Jika tidak, kumpulan konstanta PriorityBoost khusus untuk jenis perangkat. Lihat Ntddk.h atau Wdm.h untuk konstanta ini.

Mengembalikan nilai

Tidak

Komentar

Ketika driver telah menyelesaikan semua pemrosesan untuk IRP tertentu, driver memanggil IoCompleteRequest. Manajer I/O memeriksa IRP untuk menentukan apakah ada driver tingkat yang lebih tinggi telah menyiapkan IoCompletion rutin untuk IRP. Jika demikian, setiap IoCompletion rutin dipanggil, pada gilirannya, sampai setiap driver berlapis dalam rantai telah menyelesaikan IRP.

Ketika semua driver telah menyelesaikan IRP tertentu, manajer I/O mengembalikan status ke pemohon asli operasi. Perhatikan bahwa driver tingkat lebih tinggi yang menyiapkan IRP yang dibuat driver harus menyediakan IoCompletion rutin untuk merilis IRP yang dibuatnya.

Jangan pernah memanggil IoCompleteRequest sambil memegang kunci putar. Mencoba menyelesaikan IRP sambil memegang kunci putar dapat menyebabkan kebuntuan.

Persyaratan

Syarat Nilai
klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Platform Target Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
aturan kepatuhan 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), WmiComp lete(wdm)

Lihat juga

IoSetCompletionRoutine