Seperti kita ketahui bersama, model driver WDF, mulai Windows 2000, pengembangan driver harus berbasis WDM. Namun pengembangannya sangat sulit dan kita tidak bisa berharap semudah pengembangan aplikasi mode pengguna. Untuk memperbaiki situasi ini, Microsoft meluncurkan lingkungan pengembangan driver baru. Perlu ditekankan sebelumnya bahwa ini bukanlah reinvensi, namun pemodelan dan enkapsulasi berdasarkan WDM. Fitur penting adalah mengurangi kesulitan pengembangan. Karena:
1. Menerapkan teknologi berbasis objek asli dalam pemrograman biasa untuk pengembangan driver. Meskipun ada model objek di WDM, itu sama sekali tidak sama dengan teknologi berbasis objek yang sebenarnya. Untuk menerapkan teknologi berbasis objek, Microsoft dengan hati-hati merancang model objek dan merangkumnya. Properti, metode, peristiwa, dll. "tidak ada satupun yang boleh hilang".
2. Driver mode kernel dan driver mode pengguna dibuat menggunakan model objek yang sama dan menggunakan operator dasar yang sama. Yayasan ini adalah WDF. Meskipun WDF sudah menjadi model objek yang dienkapsulasi dan didefinisikan, untuk objek mode kernel dan mode pengguna, WDF adalah objek induk dari keduanya. Dengan kata lain keduanya merupakan warisan dari WDF, atau keduanya merupakan turunan dari WDF. Sehubungan dengan mode kernel, objek turunan disebut "kerangka KMD" atau KMDF; relatif terhadap mode pengguna, model turunan disebut "kerangka UMD" atau UMDF. Terlepas dari model kerangkanya, metode enkapsulasi internal dan perilaku eksekusi sebenarnya diselesaikan menggunakan WDM.
3. Yang lebih penting, dan apa yang berulang kali ditunjukkan oleh Microsoft, adalah enkapsulasi perilaku umum tertentu pada driver: misalnya, plug and play dan manajemen daya termasuk dalam perilaku umum ini. Karena sebagian besar pengemudi harus menangani masalah plug-and-play dan manajemen daya, hal ini dikatakan memerlukan sekitar ribuan baris kode. Selain itu, hal ini mungkin tidak dapat menanganinya dengan baik tanpa tingkat kemahiran tertentu. Untuk menyelesaikan masalah ini untuk selamanya, WDF hanya merangkum plug-and-play dan manajemen daya ke dalam objek, menjadikannya perilaku default objek dalam satu gerakan.
4. Hubungan antara kernel sistem operasi dan driver telah diubah. Pada driver WDM, di satu sisi harus berhubungan dengan perangkat keras, dan di sisi lain harus berhubungan dengan interaksi antar driver. dan kernel sistem operasi. Sekarang WDF memisahkan driver dari kernel sistem operasi. Interaksi antara driver dan sistem operasi diselesaikan dengan metode (fungsi) yang dikemas dalam kerangka kerja, sehingga pengembang driver hanya perlu fokus pada pemrosesan perilaku perangkat keras. Hal ini tidak hanya menghindari kerugian jika berfokus pada satu hal dan mengorbankan hal lain, tetapi juga karena pemisahan kedua pihak, hal ini sangat bermanfaat bagi perubahan tertentu dalam sistem operasi dan pengembangan driver pendukung untuk produsen perangkat keras. .
5. Kedua mode driver (KMDF, UMDF) dibangun menggunakan lingkungan yang sama, yang disebut WDK.
Artinya, lingkungan pengembangan KMDF dan UMDF adalah WDK.
Windows Device Kit (WDK): Dengan mengintegrasikan rangkaian pengujian, DDK menjadi WDK. WDK adalah sistem pengembangan driver terintegrasi untuk seri sistem operasi Microsoft. Ini menggabungkan Windows DDK dan kit Uji Kompatibilitas Perangkat Keras (HCT) (alat uji kompatibilitas perangkat keras), dan juga menyediakan rangkaian pengujian internal Microsoft untuk menguji stabilitas dan keandalan sistem operasi Windows.
6. Meskipun dienkapsulasi dan diperkenalkan teknologi berbasis objek, efisiensi eksekusi driver yang dikembangkan tidak kalah dengan driver aslinya.
Artikel ini berasal dari blog CSDN. Harap sebutkan sumbernya saat mencetak ulang: http://blog.csdn.net/ding_3/archive/2009/12/23/5060907.aspx
-