Pekerjaan terpadu dengan semua perangkat komputer pribadi di Windows, serta beberapa fungsi lain dari sistem operasi disediakan oleh satu set driver. Untuk menulis driver, Anda harus memiliki pemahaman yang baik tentang pemrograman, prinsip-prinsip kernel dan berbagai subsistem Windows.
Diperlukan
Kit Pengembangan Driver Windows
instruksi
Langkah 1
Unduh distribusi Windows Driver Development Kit (DDK) dari microsoft.com (tersedia untuk pelanggan MSDN) dan instal di komputer Anda. Paket ini berisi semua alat yang diperlukan untuk mengembangkan dan membangun driver (compiler, linker, file header, perpustakaan), serta dokumentasi yang komprehensif.
Langkah 2
Pelajari secara rinci semua dokumentasi yang tersedia tentang menulis driver untuk Windows. Gunakan informasi referensi dari DDK dan topik MSDN terkait (msdn.microsoft.com). Anda harus sepenuhnya memahami semua aspek Windows Driver Model (WDM) dan memahami konsep arsitektur dasar. Anda harus memahami dengan jelas perbedaan antara driver mode pengguna dan mode kernel, driver perangkat, dan driver sistem file. Anda perlu mengetahui fitur dari berbagai kelas driver, jenisnya (driver bus, filter, driver fungsional) dan subtipe (driver layar, modem, perangkat jaringan, port paralel dan serial, perangkat penyimpanan). Berikan perhatian khusus pada prinsip-prinsip I/O Berbasis Paket dengan IRP yang Dapat Digunakan Kembali, manajemen memori, penanganan pengecualian, dan penerapan objek sinkronisasi yang benar.
Langkah 3
Tentukan dengan jelas fungsionalitas driver yang sedang dikembangkan. Berdasarkan ini, tentukan jenis dan kelasnya.
Langkah 4
Pilih bahasa pemrograman. Secara tradisional, driver mode kernel diimplementasikan dalam C. Driver mode pengguna biasanya dikembangkan dalam C ++. Ada beberapa pengecualian untuk aturan ini. Misalnya, minidriver klien untuk streaming audio dan video, driver audio WDM untuk miniport mode kernel, driver WIA, dan terkadang driver tampilan ditulis dalam C++.
Langkah 5
Buat proyek yang mengimplementasikan rintisan driver. Jelajahi direktori DDK dengan contoh. Temukan proyek demo driver yang benar. Jika Anda tidak dapat menemukan contoh yang sesuai, buat sendiri file yang berisi kode sumber yang diperlukan dan buat file skrip. Misalnya, saat mengembangkan driver mode kernel, Anda perlu mengimplementasikan fungsi DriverEntry, yang berisi kode inisialisasi serta beberapa rutinitas standar (seperti AddDevice, StartIo, dll.).
Langkah 6
Menerapkan fungsi driver. Tambahkan kode ke fungsi yang dibuat pada langkah sebelumnya. Tambahkan logika untuk menangani permintaan I/O, dll.