Ενοποιημένη εργασία με όλες τις συσκευές ενός προσωπικού υπολογιστή στα Windows, καθώς και ορισμένες άλλες λειτουργίες του λειτουργικού συστήματος παρέχονται από ένα σύνολο προγραμμάτων οδήγησης. Για να γράψετε προγράμματα οδήγησης, πρέπει να έχετε καλή κατανόηση του προγραμματισμού, τις αρχές του πυρήνα και διάφορα υποσυστήματα των Windows.
Απαραίτητη
Κιτ ανάπτυξης προγραμμάτων οδήγησης των Windows
Οδηγίες
Βήμα 1
Πραγματοποιήστε λήψη της διανομής του Windows Driver Development Kit (DDK) από το microsoft.com (διαθέσιμο για συνδρομητές MSDN) και εγκαταστήστε τον στον υπολογιστή σας. Αυτό το πακέτο περιέχει όλα τα απαραίτητα εργαλεία για την ανάπτυξη και τη δημιουργία προγραμμάτων οδήγησης (μεταγλωττιστής, σύνδεσμος, αρχεία κεφαλίδας, βιβλιοθήκες), καθώς και πλήρη έγγραφα.
Βήμα 2
Μελετήστε λεπτομερώς όλα τα διαθέσιμα έγγραφα σχετικά με τη γραφή προγραμμάτων οδήγησης για Windows. Χρησιμοποιήστε τις πληροφορίες αναφοράς από το DDK και το σχετικό θέμα MSDN (msdn.microsoft.com). Πρέπει να κατανοήσετε πλήρως όλες τις πτυχές του Windows Driver Model (WDM) και να κατανοήσετε τις βασικές αρχιτεκτονικές έννοιες. Πρέπει να κατανοήσετε ξεκάθαρα τις διαφορές μεταξύ προγραμμάτων οδήγησης λειτουργίας χρήστη και λειτουργίας πυρήνα, προγραμμάτων οδήγησης συσκευών και προγραμμάτων οδήγησης συστήματος αρχείων. Πρέπει να γνωρίζετε τις δυνατότητες διαφορετικών κατηγοριών προγραμμάτων οδήγησης, τους τύπους τους (προγράμματα οδήγησης διαύλου, φίλτρα, λειτουργικά προγράμματα οδήγησης) και υποτύπους (προγράμματα οδήγησης οθόνης, μόντεμ, συσκευές δικτύου, παράλληλες και σειριακές θύρες, συσκευές αποθήκευσης). Δώστε ιδιαίτερη προσοχή στις αρχές του I / O που βασίζεται σε πακέτα με επαναχρησιμοποιήσιμα IRP, διαχείριση μνήμης, χειρισμό εξαιρέσεων και τη σωστή εφαρμογή αντικειμένων συγχρονισμού.
Βήμα 3
Ορίστε με σαφήνεια τη λειτουργικότητα του προγράμματος οδήγησης που αναπτύσσεται. Με βάση αυτό, καθορίστε σε ποιον τύπο και κατηγορία ανήκει.
Βήμα 4
Επιλέξτε μια γλώσσα προγραμματισμού. Παραδοσιακά, τα προγράμματα οδήγησης λειτουργίας πυρήνα εφαρμόζονται στο C. Τα προγράμματα οδήγησης λειτουργίας χρήστη συνήθως αναπτύσσονται σε C ++. Υπάρχουν πολλές εξαιρέσεις σε αυτούς τους κανόνες. Για παράδειγμα, τα προγράμματα οδήγησης προγράμματος-πελάτη για ροές ήχου και βίντεο, προγράμματα οδήγησης ήχου WDM για μίνι λιμάνια λειτουργίας πυρήνα, προγράμματα οδήγησης WIA και μερικές φορές προγράμματα οδήγησης οθόνης είναι γραμμένα σε C ++.
Βήμα 5
Δημιουργήστε ένα έργο που εφαρμόζει το στέλεχος του προγράμματος οδήγησης. Εξερευνήστε τον κατάλογο DDK με παραδείγματα. Βρείτε το σωστό πρόγραμμα επίδειξης προγράμματος οδήγησης. Εάν δεν μπορείτε να βρείτε ένα κατάλληλο παράδειγμα, δημιουργήστε μόνοι σας τα αρχεία που περιέχουν τον απαιτούμενο πηγαίο κώδικα και δημιουργήστε αρχεία σεναρίων. Για παράδειγμα, κατά την ανάπτυξη προγράμματος οδήγησης λειτουργίας πυρήνα, πρέπει να εφαρμόσετε τη συνάρτηση DriverEntry, η οποία περιέχει τον κώδικα αρχικοποίησης, καθώς και ορισμένες τυπικές ρουτίνες (όπως AddDevice, StartIo, κ.λπ.).
Βήμα 6
Εφαρμόστε τη λειτουργικότητα του προγράμματος οδήγησης. Προσθέστε κώδικα στις συναρτήσεις που δημιουργήθηκαν στο προηγούμενο βήμα. Προσθέστε λογική για τη διαχείριση αιτημάτων εισόδου / εξόδου κ.λπ.