Bagikan melalui


Persyaratan Rutin Driver Standar

Ingatlah poin-poin berikut saat merancang driver mode kernel:

  • Setiap driver harus memiliki rutinitas DriverEntry , yang menginisialisasi struktur dan sumber daya data di seluruh driver. Manajer I/O memanggil rutinitas DriverEntry saat memuat driver.

  • Setiap driver harus memiliki setidaknya satu rutinitas pengiriman yang menerima dan memproses paket permintaan I/O (IRP). Setiap driver harus menempatkan titik masuk rutin pengiriman dalam struktur DRIVER_OBJECT , untuk setiap kode fungsi utama IRP yang dapat diterima driver. Driver dapat memiliki rutinitas pengiriman terpisah untuk setiap kode fungsi utama IRP, atau dapat memiliki satu atau beberapa rutinitas pengiriman yang menangani beberapa kode fungsi.

  • Setiap driver WDM harus memiliki rutinitas Bongkar. Driver harus menempatkan titik masuk rutin Bongkar di objek driver driver. Tanggung jawab rutinitas Bongkar Muat driver PnP minimal, tetapi rutinitas bongkar muat driver non-PnP bertanggung jawab untuk merilis sumber daya sistem apa pun yang digunakan driver.

  • Setiap driver WDM harus memiliki rutinitas AddDevice dan menentukan titik masuknya dalam ekstensi driver objek driver. Rutinitas AddDevice bertanggung jawab untuk membuat dan menginisialisasi objek perangkat untuk setiap perangkat PnP yang dikontrol driver.

  • Driver dapat memiliki rutinitas StartIo , yang dipanggil manajer I/O untuk memulai operasi I/O untuk RUNPS yang telah diantrekan driver ke antrean IRP yang disediakan sistem. Setiap driver yang tidak memiliki rutinitas StartIo harus mengatur dan mengelola antrean internal untuk IRP yang diterimanya, atau harus menyelesaikan setiap IRP dalam rutinitas pengirimannya. Driver tingkat yang lebih tinggi mungkin tidak memiliki rutinitas StartIo , jika mereka hanya meneruskan RUN ke driver tingkat bawah langsung dari rutinitas pengiriman mereka.

  • Driver miniport tertentu adalah pengecualian untuk persyaratan sebelumnya. Lihat dokumentasi khusus jenis perangkat di Windows Driver Kit (WDK) untuk informasi tentang persyaratan untuk driver miniport.

  • Apakah driver memiliki jenis rutinitas standar lainnya tergantung pada fungsionalitasnya dan bagaimana driver tersebut cocok dengan sistem (misalnya, apakah itu menginteroperaksi dengan driver yang disediakan sistem). Lihat dokumentasi spesifik jenis perangkat di WDK untuk detailnya.