Bagikan melalui


Persyaratan Standar Rutin Pengemudi

Ingatlah poin-poin berikut saat merancang driver mode kernel:

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

  • Setiap driver harus memiliki setidaknya satu rutin 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 rutin Unload. Driver harus menempatkan titik masuk rutin Bongkar di objek penggerak driver. Tanggung jawab rutinitas pembongkaran driver PnP minimal, tetapi rutinitas pembongkaran driver non-PnP bertanggung jawab untuk melepaskan 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 oleh manajer I/O untuk memulai operasi I/O pada IRP yang telah diantrekan driver ke dalam antrean IRP yang disediakan oleh 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 pemrosesannya. Driver tingkat yang lebih tinggi mungkin tidak memiliki rutinitas StartIo , jika mereka hanya meneruskan IRP ke driver tingkat bawah langsung dari rutinitas pengiriman mereka.

  • Driver miniport tertentu merupakan pengecualian terhadap 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 pada bagaimana driver tersebut cocok dengan sistem (misalnya, apakah itu menginteroperaksi dengan driver yang disediakan sistem). Lihat dokumentasi khusus jenis perangkat di WDK untuk detailnya.