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.

Sintaks

void IofCompleteRequest(
  PIRP  Irp,
  CCHAR PriorityBoost
);

Parameter

Irp

Arahkan ke IRP yang akan diselesaikan.

PriorityBoost

Menentukan konstanta CCHAR yang ditentukan sistem untuk menambah 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.

Nilai kembali

Tidak ada

Keterangan

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 rutinitas IoCompletion untuk IRP. Jika demikian, setiap rutinitas IoCompletion 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 rutinitas IoCompletion untuk merilis IRP yang dibuatnya.

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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform 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), WmiComplete(wdm)

Lihat juga

IoSetCompletionRoutine