Bagikan melalui


Memprogram Perangkat untuk Operasi I/O

Gunakan panduan umum berikut untuk merancang, menulis, dan memanggil rutinitas SynchCritSection yang memprogram perangkat untuk operasi I/O:

  • Rutinitas SynchCritSection yang memprogram perangkat untuk operasi I/O harus mengembalikan kontrol secepat mungkin.

    Untuk alasan ini, rutinitas SynchCritSection harus melakukan hanya apa yang diperlukan untuk menyiapkan perangkat untuk I/O. Oleh karena itu, driver harus melakukan semua pra-pemrosesan IRP, menginisialisasi informasi status untuk rutinitas driver lain, dan memperoleh sumber daya perangkat keras sebelum memanggil rutinitas SynchCritSection .

  • Driver perangkat dapat memiliki beberapa rutinitas SynchCritSection untuk memprogram perangkat.

    Misalnya, driver perangkat di mana penyiapan permintaan baca sangat berbeda dari penyiapan permintaan kontrol perangkat tertentu mungkin memiliki rutinitas SynchCritSection terpisah untuk memprogram perangkatnya sesuai jenis permintaan.

  • Setiap rutinitas SynchCritSection harus mengembalikan kontrol secepat mungkin, karena menjalankan rutinitas SynchCritSection mencegah eksekusi ISR dari driver.

    Anda tidak boleh menulis rutinitas SynchCritSection yang besar, tunggal, dan bertujuan umum menggunakan pernyataan switch atau banyak pernyataan if..then..else bersarang untuk menentukan operasi apa yang akan dilaksanakan atau informasi status apa yang akan diperbarui. Di sisi lain, Anda harus menghindari penulisan banyak rutinitas SynchCritSection yang hanya memprogram satu daftar perangkat.