ดังที่เราทุกคนทราบดีว่าโมเดลไดรเวอร์ WDF เริ่มตั้งแต่ Windows 2000 การพัฒนาไดรเวอร์จะต้องใช้ WDM อย่างไรก็ตาม การพัฒนานั้นยากมาก และเราไม่สามารถคาดหวังได้ว่ามันจะง่ายเหมือนการพัฒนาแอปพลิเคชันในโหมดผู้ใช้ เพื่อปรับปรุงสถานการณ์นี้ Microsoft ได้เปิดตัวสภาพแวดล้อมการพัฒนาไดรเวอร์ใหม่ ควรชี้ให้เห็นล่วงหน้าว่านี่ไม่ใช่การคิดค้นสิ่งใหม่ ๆ แต่เป็นการสร้างแบบจำลองและการห่อหุ้มตาม WDM คุณลักษณะที่สำคัญคือช่วยลดความยากในการพัฒนา เพราะ:
1. ใช้เทคโนโลยีเชิงวัตถุดั้งเดิมในการเขียนโปรแกรมทั่วไปเพื่อการพัฒนาไดรเวอร์ แม้ว่าจะมีโมเดลออบเจ็กต์ใน WDM แต่ก็ไม่เหมือนกับเทคโนโลยีแบบออบเจ็กต์ที่แท้จริงเลย เพื่อนำเทคโนโลยีเชิงวัตถุไปใช้ Microsoft ได้ออกแบบโมเดลวัตถุอย่างระมัดระวังและห่อหุ้มไว้ คุณสมบัติ วิธีการ เหตุการณ์ ฯลฯ "ขาดไม่ได้เลย"
2. ทั้งไดรเวอร์โหมดเคอร์เนลและไดรเวอร์โหมดผู้ใช้ถูกสร้างขึ้นโดยใช้โมเดลออบเจ็กต์เดียวกัน และใช้พาหะพื้นฐานเดียวกัน รากฐานนี้คือ WDF แม้ว่า WDF จะเป็นโมเดลออบเจ็กต์ที่ห่อหุ้มและกำหนดไว้แล้ว สำหรับโหมดเคอร์เนลและออบเจ็กต์โหมดผู้ใช้ WDF จะเป็นออบเจ็กต์หลักของทั้งสอง กล่าวอีกนัยหนึ่ง ทั้งสองอย่างสืบทอดมาจาก WDF หรือทั้งสองอย่างได้มาจาก WDF สัมพันธ์กับโหมดเคอร์เนล วัตถุที่ได้รับเรียกว่า "กรอบงาน KMD" หรือ KMDF สัมพันธ์กับโหมดผู้ใช้ โมเดลที่ได้รับเรียกว่า "กรอบงาน UMD" หรือ UMDF ไม่ว่ากรอบงานจะเป็นรุ่นใด วิธีการห่อหุ้มภายในและพฤติกรรมการดำเนินการจะเสร็จสมบูรณ์โดยใช้ WDM
3. ที่สำคัญกว่านั้น และสิ่งที่ Microsoft แสดงให้เห็นซ้ำแล้วซ้ำเล่า คือการสรุปลักษณะการทำงานทั่วไปบางประการในไดรเวอร์ เช่น การจัดการปลั๊กแอนด์เพลย์และพลังงานเป็นของลักษณะการทำงานทั่วไปนี้ เนื่องจากไดรเวอร์ส่วนใหญ่จำเป็นต้องจัดการกับปัญหา Plug-and-Play และการจัดการพลังงาน กล่าวกันว่าต้องใช้โค้ดประมาณหลายพันบรรทัด นอกจากนี้ ยังอาจไม่สามารถจัดการได้ดีหากไม่มีความเชี่ยวชาญในระดับหนึ่ง เพื่อที่จะแก้ไขปัญหาทันทีและตลอดไป WDF ได้รวมเอาการจัดการพลังงานแบบพลักแอนด์เพลย์และพลังงานไว้ในออบเจ็กต์ ทำให้เป็นพฤติกรรมเริ่มต้นของออบเจ็กต์ในคราวเดียว
4. ความสัมพันธ์ระหว่างเคอร์เนลระบบปฏิบัติการและไดรเวอร์มีการเปลี่ยนแปลง ในไดรเวอร์ WDM จะต้องจัดการกับฮาร์ดแวร์ และในทางกลับกัน จะต้องจัดการกับการโต้ตอบระหว่างไดรเวอร์ และเคอร์เนลของระบบปฏิบัติการ ตอนนี้ WDF แยกไดรเวอร์ออกจากเคอร์เนลระบบปฏิบัติการ การทำงานร่วมกันระหว่างไดรเวอร์และระบบปฏิบัติการเสร็จสมบูรณ์ด้วยวิธีการ (ฟังก์ชัน) ที่ห่อหุ้มไว้ในเฟรมเวิร์ก ดังนั้นนักพัฒนาไดรเวอร์จึงจำเป็นต้องมุ่งเน้นที่การประมวลผลพฤติกรรมของฮาร์ดแวร์เท่านั้น สิ่งนี้ไม่เพียงหลีกเลี่ยงข้อเสียของการมุ่งเน้นไปที่สิ่งหนึ่งโดยเสียค่าใช้จ่ายของอีกสิ่งหนึ่งเท่านั้น แต่ยังเนื่องมาจากการแยกทางกันของทั้งสองฝ่าย การเปลี่ยนแปลงบางอย่างในระบบปฏิบัติการและการพัฒนาไดรเวอร์ที่รองรับสำหรับผู้ผลิตฮาร์ดแวร์จะเป็นประโยชน์อย่างมาก .
5. ไดรเวอร์ทั้งสองโหมด (KMDF, UMDF) สร้างขึ้นโดยใช้สภาพแวดล้อมเดียวกันซึ่งเรียกว่า WDK
นั่นคือสภาพแวดล้อมการพัฒนาของ KMDF และ UMDF คือ WDK
Windows Device Kit (WDK): ด้วยการรวมชุดทดสอบ DDK จะกลายเป็น WDK WDK คือระบบการพัฒนาไดรเวอร์แบบรวมสำหรับชุดระบบปฏิบัติการ Microsoft โดยผสมผสาน Windows DDK และชุดทดสอบความเข้ากันได้ของฮาร์ดแวร์ (HCT) (เครื่องมือทดสอบความเข้ากันได้ของฮาร์ดแวร์) และยังมีชุดทดสอบภายในของ Microsoft สำหรับทดสอบความเสถียรและความน่าเชื่อถือของระบบปฏิบัติการ Windows
6. แม้ว่าจะมีการห่อหุ้มและมีการนำเทคโนโลยีแบบอิงวัตถุมาใช้ แต่ประสิทธิภาพการทำงานของไดรเวอร์ที่พัฒนาขึ้นก็ไม่ด้อยไปกว่ารุ่นดั้งเดิม
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/ding_3/archive/2009/12/23/5060907.aspx
-