Bagikan melalui


Fungsi IoMakeAssociatedIrp (ntddk.h)

Rutinitas ini disediakan untuk digunakan oleh sistem file dan driver filter sistem file. Rutinitas IoMakeAssociatedIrp mengalokasikan dan menginisialisasi IRP untuk dikaitkan dengan IRP master yang dikirim ke driver tingkat tertinggi, memungkinkan pemanggil untuk membagi permintaan asli dan mengirim RUNP terkait ke driver tingkat bawah.

Sintaks

PIRP IoMakeAssociatedIrp(
  [in] PIRP  Irp,
  [in] CCHAR StackSize
);

Parameter

[in] Irp

Arahkan ke master IRP yang dimasukkan ke rutinitas Pengiriman driver tingkat tertinggi.

[in] StackSize

Menentukan jumlah lokasi tumpukan yang akan dialokasikan untuk IRP terkait. Nilai harus setidaknya sama dengan StackSize objek perangkat driver berikutnya yang lebih rendah, tetapi IRP terkait dapat memiliki lokasi tumpukan tambahan untuk pemanggil.

Nilai kembali

IoMakeAssociatedIrp mengembalikan penunjuk ke IRP terkait atau mengembalikan penunjuk NULL jika IRP tidak dapat dialokasikan.

Keterangan

Hanya driver tingkat tertinggi yang dapat memanggil rutinitas ini.

Manajer I/O menyelesaikan IRP master secara otomatis ketika driver yang lebih rendah telah menyelesaikan semua RUNP terkait selama pemanggil belum mengatur rutinitas IoCompletion-nya dalam IRP terkait dan mengembalikan STATUS_MORE_PROCESSING_REQUIRED dari rutinitas IoCompletion-nya . Dalam keadaan ini, pemanggil harus secara eksplisit menyelesaikan IRP master ketika driver tersebut telah menentukan bahwa semua RUNP terkait telah selesai.

Hanya master IRP yang dikaitkan dengan utas; IRP terkait tidak. Untuk alasan ini, manajer I/O tidak dapat memanggil Batalkan rutinitas untuk IRP terkait saat utas keluar. Ketika utas master IRP keluar, manajer I/O memanggil rutinitas Batalkan IRP master. Rutinitas Batal bertanggung jawab untuk melacak semua IRP terkait dan memanggil IoCancelIrp untuk membatalkannya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header ntddk.h (termasuk Ntddk.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Lihat juga

IRP

IoAllocateIrp

IoBuildAsynchronousFsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoCallDriver

IoSetCompletionRoutine