Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi DispatchRead dan DispatchWrite driver menangani IRP dengan kode fungsi I/O IRP_MJ_READ dan IRP_MJ_WRITE. Atau, rutin gabungan DispatchReadWrite dapat menangani IRP untuk kedua kode fungsi I/O ini.
Setiap driver perangkat tempat data dapat ditransfer ke sistem harus memiliki rutinitas DispatchRead . Setiap driver perangkat tempat data dapat ditransfer dari sistem harus memiliki rutinitas DispatchWrite . Setiap driver yang mentransfer data di kedua arah dapat memiliki rutinitas DispatchReadWrite gabungan.
Driver tingkat bawah menangani permintaan IRP_MJ_READ dan IRP_MJ_WRITE secara asinkron. Oleh karena itu, rutinitas DispatchRead dan/atau DispatchWrite dalam driver tingkat tertinggi harus meneruskan permintaan ini untuk pemrosesan lebih lanjut, asalkan permintaan memiliki parameter yang valid di lokasi tumpukan I/O driver dari IRP.
Apakah driver menyiapkan objek perangkatnya untuk I/O buffer atau langsung memengaruhi caranya menangani permintaan transfer. Secara khusus, driver yang menggunakan I/O langsung untuk melakukan operasi DMA mungkin perlu membagi permintaan transfer besar menjadi urutan operasi transfer yang lebih kecil untuk memenuhi permintaan IRP_MJ_READ atau IRP_MJ_WRITE . Untuk informasi selengkapnya, lihat Teknik Input/Output.
Subbagian berikut membahas beberapa pertimbangan desain dan implementasi untuk rutinitas DispatchReadWrite dalam driver perangkat tingkat terendah yang menggunakan I/O buffer dan I/O langsung, serta pada driver tingkat lebih tinggi yang berlapis di atasnya:
Menangani Transfer Secara Asinkron
DispatchReadWrite Menggunakan I/O Berpenyangga
DispatchReadWrite Menggunakan I/O Langsung