Menulis Driver WDM

Bagian ini membahas arsitektur Microsoft Windows Driver Model (WDM). Arsitektur ini dimulai di Windows 2000 sebagai peningkatan driver perangkat Windows NT sebelumnya.

Catatan Driver untuk versi sistem operasi berbasis Windows NT sebelum Windows 2000 tidak didukung, dan Anda harus memperbarui driver ini. Arsitektur WDM tidak mendukung driver untuk sistem operasi berbasis non-Windows NT (seperti Windows 98), dan Anda harus menulis ulang driver tersebut.

Bagian ini dibagi menjadi tiga bagian:

  • Windows Driver Model menjelaskan Windows Driver Model (WDM), termasuk jenis driver WDM, konfigurasi perangkat, dan penerapan versi WDM.

  • Objek Perangkat dan Tumpukan Perangkat menjelaskan objek perangkat dan tumpukan perangkat. Bagian ini mencakup informasi tentang objek perangkat fisik (PDO), objek perangkat fungsi (FDO), dan memfilter objek perangkat (filter DO). Driver sering dibangun dari sekumpulan objek perangkat yang bekerja sama. Set objek perangkat ini disebut tumpukan. Tumpukan dapat membantu Anda memahami alur informasi ke dan dari driver dan bagaimana berbagai bagian driver berkomunikasi secara internal.

  • Komponen Driver Mode Kernel menjelaskan rutinitas mana yang harus Anda terapkan untuk memiliki driver fungsi dan rutinitas mana yang opsional.

    Driver perangkat adalah sekumpulan kode perangkat lunak yang harus diintegrasikan ke dalam sistem operasi. Untuk menyelesaikan integrasi ini, Anda harus menulis serangkaian rutinitas handler di driver Anda yang memproses panggilan dari sistem operasi. Rutinitas ini dapat menjadi panggilan fungsi sederhana, tetapi banyak dari mereka mengimplementasikan pemrosesan paket permintaan I/O (IRP), yang memfasilitasi komunikasi antara driver dan sistem operasi.

Catatan Driver WDM juga dapat menggunakan pustaka Windows Driver Frameworks (WDF) untuk membuat beberapa bagian driver perangkat lebih mudah ditulis. Secara khusus, driver mode kernel dapat menggunakan Kernel-Mode Driver Framework (KMDF), yang merupakan bagian dari WDF. Untuk informasi selengkapnya tentang KMDF untuk driver mode kernel, lihat Gambaran Umum Kerangka Kerja Driver Mode Kernel. Perhatikan bahwa KMDF tidak menggantikan WDM. Anda masih harus memahami banyak bagian WDM untuk menulis driver KMDF.