Vienotu darbu ar visām personālā datora ierīcēm sistēmā Windows, kā arī dažas citas operētājsistēmas funkcijas nodrošina draiveru kopums. Lai rakstītu draiverus, jums labi jāpārzina programmēšana, kodola principi un dažādas Windows apakšsistēmas.
Nepieciešams
Windows draiveru izstrādes komplekts
Instrukcijas
1. solis
Lejupielādējiet Windows draiveru izstrādes komplekta (DDK) izplatīšanu no vietnes microsoft.com (pieejams MSDN abonentiem) un instalējiet to savā datorā. Šajā paketē ir visi nepieciešamie rīki draiveru izveidei un izveidei (kompilators, saite, galvenes faili, bibliotēkas), kā arī visaptveroša dokumentācija.
2. solis
Detalizēti izpētiet visu pieejamo dokumentāciju par draiveru rakstīšanu operētājsistēmai Windows. Izmantojiet atsauces informāciju no DDK un ar to saistītās MSDN tēmas (msdn.microsoft.com). Jums pilnībā jāizprot visi Windows draivera modeļa (WDM) aspekti un jāsaprot arhitektūras pamatjēdzieni. Jums skaidri jāsaprot atšķirības starp lietotāja un kodola režīma draiveriem, ierīču draiveriem un failu sistēmas draiveriem. Jums jāzina dažādu draiveru klases funkcijas, to veidi (kopņu draiveri, filtri, funkcionālie draiveri) un apakštipi (displeja draiveri, modemi, tīkla ierīces, paralēlie un sērijveida porti, atmiņas ierīces). Pievērsiet īpašu uzmanību pakešu vadīta I / O ar atkārtoti lietojamiem IRP principiem, atmiņas pārvaldībai, izņēmumu apstrādei un pareizai sinhronizācijas objektu lietošanai.
3. solis
Skaidri definējiet attīstāmā draivera funkcionalitāti. Pamatojoties uz to, nosakiet, kādam tipam un klasei tas pieder.
4. solis
Izvēlieties programmēšanas valodu. Tradicionāli kodola režīma draiveri tiek ieviesti C. Lietotāja režīma draiveri parasti tiek izstrādāti C ++. Šiem noteikumiem ir vairāki izņēmumi. Piemēram, klienta minidraiveri audio un video straumēm, WDM audio draiveri kodola režīma miniportiem, WIA draiveri un dažreiz displeja draiveri ir rakstīti C ++.
5. solis
Izveidojiet projektu, kas īsteno draivera stublāju. Izpētiet DDK direktoriju ar piemēriem. Atrodiet pareizo draivera demonstrācijas projektu. Ja nevarat atrast piemērotu piemēru, pats izveidojiet failus, kas satur nepieciešamo avota kodu, un izveidojiet skriptu failus. Piemēram, izstrādājot kodola režīma draiveri, jums jāievieš funkcija DriverEntry, kas satur inicializācijas kodu, kā arī dažas standarta rutīnas (piemēram, AddDevice, StartIo utt.).
6. solis
Ieviesiet draivera funkcionalitāti. Pievienojiet kodu iepriekšējā darbībā izveidotajām funkcijām. Pievienojiet loģiku, lai apstrādātu I / O pieprasījumus utt.