วิธีเขียนไดรเวอร์

สารบัญ:

วิธีเขียนไดรเวอร์
วิธีเขียนไดรเวอร์

วีดีโอ: วิธีเขียนไดรเวอร์

วีดีโอ: วิธีเขียนไดรเวอร์
วีดีโอ: โปรแกรมหาไดเวอร์ Driver Pack ใช้งานง่ายหาได้ทุกไดเวอร์ 2024, เมษายน
Anonim

การทำงานแบบครบวงจรกับอุปกรณ์ทั้งหมดของคอมพิวเตอร์ส่วนบุคคลใน Windows รวมถึงฟังก์ชันอื่น ๆ ของระบบปฏิบัติการมีให้โดยชุดไดรเวอร์ ในการเขียนไดรเวอร์ คุณต้องมีความเข้าใจในการเขียนโปรแกรม หลักการของเคอร์เนล และระบบย่อยต่างๆ ของ Windows เป็นอย่างดี

วิธีเขียนไดรเวอร์
วิธีเขียนไดรเวอร์

จำเป็น

ชุดพัฒนาไดรเวอร์ Windows

คำแนะนำ

ขั้นตอนที่ 1

ดาวน์โหลดการแจกจ่าย Windows Driver Development Kit (DDK) จาก microsoft.com (มีให้สำหรับสมาชิก MSDN) และติดตั้งลงในคอมพิวเตอร์ของคุณ แพ็คเกจนี้ประกอบด้วยเครื่องมือที่จำเป็นทั้งหมดสำหรับการพัฒนาและสร้างไดรเวอร์ (คอมไพเลอร์, ตัวเชื่อมโยง, ไฟล์ส่วนหัว, ไลบรารี) รวมถึงเอกสารประกอบที่ครอบคลุม

ขั้นตอนที่ 2

ศึกษารายละเอียดเอกสารทั้งหมดที่มีเกี่ยวกับการเขียนไดรเวอร์สำหรับ Windows ใช้ข้อมูลอ้างอิงจากหัวข้อ DDK และ MSDN ที่เกี่ยวข้อง (msdn.microsoft.com) คุณต้องเข้าใจทุกแง่มุมของ Windows Driver Model (WDM) อย่างถ่องแท้ และเข้าใจแนวคิดสถาปัตยกรรมพื้นฐาน คุณต้องเข้าใจความแตกต่างระหว่างไดรเวอร์โหมดผู้ใช้และโหมดเคอร์เนล ไดรเวอร์อุปกรณ์ และไดรเวอร์ระบบไฟล์อย่างชัดเจน คุณจำเป็นต้องทราบคุณสมบัติของไดรเวอร์ประเภทต่างๆ ประเภท (ไดรเวอร์บัส ตัวกรอง ไดรเวอร์ที่ใช้งานได้) และประเภทย่อย (ไดรเวอร์จอแสดงผล โมเด็ม อุปกรณ์เครือข่าย พอร์ตขนานและพอร์ตอนุกรม อุปกรณ์จัดเก็บข้อมูล) ให้ความสนใจเป็นพิเศษกับหลักการของ Packet-Driven I / O ที่มี IRP แบบใช้ซ้ำได้ การจัดการหน่วยความจำ การจัดการข้อยกเว้น และการใช้ออบเจกต์การซิงโครไนซ์ที่ถูกต้อง

ขั้นตอนที่ 3

กำหนดฟังก์ชันการทำงานของไดรเวอร์ที่กำลังพัฒนาให้ชัดเจน จากสิ่งนี้ ให้กำหนดประเภทและคลาสที่เป็นของ

ขั้นตอนที่ 4

เลือกภาษาโปรแกรม ตามเนื้อผ้า ไดรเวอร์โหมดเคอร์เนลถูกนำมาใช้ใน C ไดรเวอร์โหมดผู้ใช้มักจะได้รับการพัฒนาใน C ++ มีข้อยกเว้นหลายประการสำหรับกฎเหล่านี้ ตัวอย่างเช่น ไคลเอ็นต์มินิไดรเวอร์สำหรับสตรีมเสียงและวิดีโอ ไดรเวอร์เสียง WDM สำหรับมินิพอร์ตโหมดเคอร์เนล ไดรเวอร์ WIA และบางครั้งไดรเวอร์แสดงผลจะเขียนด้วยภาษา C ++

ขั้นตอนที่ 5

สร้างโครงการที่ใช้สตับไดรเวอร์ สำรวจไดเร็กทอรี DDK พร้อมตัวอย่าง ค้นหาโครงการสาธิตไดรเวอร์ที่ถูกต้อง หากคุณไม่พบตัวอย่างที่เหมาะสม ให้สร้างไฟล์ด้วยตัวเองที่มีซอร์สโค้ดที่จำเป็นและสร้างไฟล์สคริปต์ ตัวอย่างเช่น เมื่อพัฒนาไดรเวอร์โหมดเคอร์เนล คุณต้องใช้ฟังก์ชัน DriverEntry ซึ่งประกอบด้วยโค้ดการเริ่มต้นและรูทีนมาตรฐานบางอย่าง (เช่น AddDevice, StartIo เป็นต้น)

ขั้นตอนที่ 6

ใช้ฟังก์ชั่นไดรเวอร์ เพิ่มโค้ดให้กับฟังก์ชันที่สร้างในขั้นตอนก่อนหน้า เพิ่มตรรกะในการจัดการคำขอ I / O ฯลฯ