Menyiapkan IRP di Driver Menengah

Setiap driver perantara yang berlapis antara driver sistem file dan driver perangkat media yang dapat dilepas harus mengatur lokasi tumpukan I/O driver tingkat bawah berikutnya di RUN. Dari permintaan IRP_MJ_READ, IRP_MJ_WRITE, dan IRP_MJ_DEVICE_CONTROL yang masuk, driver perantara harus menyalin Bendera lokasi tumpukan I/O sendiri ke lokasi tumpukan I/O driver tingkat bawah berikutnya ketika mengatur lokasi tumpukan I/O untuk driver yang lebih rendah.

Jika driver perantara mengalokasikan IRP baru untuk driver media yang dapat dilepas tingkat bawah, driver harus mengatur IRP tersebut sebagai berikut:

  • Untuk permintaan transfer, ia harus menyiapkan konteks utas di setiap IRP yang dialokasikan driver dari nilai di Tail.Overlay.Thread di IRP asli.

  • Untuk permintaan IRP_MJ_READ, IRP_MJ_WRITE, dan IRP_MJ_DEVICE_CONTROL , ia harus menyalin Bendera lokasi tumpukan I/O dari IRP asli ke setiap IRP yang dialokasikan driver.

Jika tidak, sistem file tidak dapat mempertahankan integritas data file yang di-cache atau menyebabkan pengguna diminta untuk memasang ulang media yang menyimpan file terbuka.