Vieningą darbą su visais asmeninio kompiuterio „Windows“įrenginiais, taip pat kai kurias kitas operacinės sistemos funkcijas teikia tvarkyklių rinkinys. Norėdami rašyti tvarkykles, turite gerai suprasti programavimą, branduolio principus ir įvairius „Windows“posistemius.
Būtinas
„Windows“tvarkyklių kūrimo rinkinys
Nurodymai
1 žingsnis
Atsisiųskite „Windows Driver Development Kit“(DDK) platinimą iš microsoft.com (galima MSDN abonentams) ir įdiekite jį į savo kompiuterį. Šiame pakete yra visi reikalingi tvarkyklių kūrimo ir kūrimo įrankiai (kompiliatorius, susiejiklis, antraštės failai, bibliotekos), taip pat išsami dokumentacija.
2 žingsnis
Išsamiai išnagrinėkite visus turimus „Windows“tvarkyklių rašymo dokumentus. Naudokite nuorodų informaciją iš DDK ir susijusios MSDN temos (msdn.microsoft.com). Turite visiškai suprasti visus „Windows“tvarkyklės modelio (WDM) aspektus ir suvokti pagrindines architektūros koncepcijas. Turite aiškiai suprasti vartotojo ir branduolio režimo tvarkyklių, įrenginių tvarkyklių ir failų sistemos tvarkyklių skirtumus. Turite žinoti skirtingų klasių tvarkyklių ypatybes, jų tipus (magistralės tvarkykles, filtrus, funkcinius tvarkykles) ir potipius (ekrano tvarkykles, modemus, tinklo įrenginius, lygiagrečius ir nuoseklius prievadus, atminties įrenginius). Ypatingą dėmesį atkreipkite į paketinio įvesties / išvesties su daugkartinio naudojimo IRP principus, atminties valdymą, išimčių tvarkymą ir teisingą sinchronizavimo objektų taikymą.
3 žingsnis
Aiškiai apibrėžkite kuriamo vairuotojo funkcionalumą. Remdamiesi tuo, nustatykite, kokiam tipui ir klasei jis priklauso.
4 žingsnis
Pasirinkite programavimo kalbą. Tradiciškai branduolio režimo tvarkyklės diegiamos C. Vartotojo režimo tvarkyklės paprastai kuriamos C ++. Yra keletas šių taisyklių išimčių. Pvz., Kliento miniveriveriai garso ir vaizdo srautams, WDM garso tvarkyklės branduolio režimo miniportams, WIA tvarkyklės ir kartais ekrano tvarkyklės yra parašytos C ++.
5 žingsnis
Sukurkite projektą, įgyvendinantį tvarkyklės šnipą. Naršykite DDK katalogą su pavyzdžiais. Raskite tinkamą vairuotojo demonstracinį projektą. Jei nerandate tinkamo pavyzdžio, patys sukurkite failus, kuriuose yra reikalingas šaltinio kodas, ir sukurkite scenarijaus failus. Pvz., Kurdami branduolio režimo tvarkyklę, turite įdiegti „DriverEntry“funkciją, kurioje yra inicializavimo kodas, taip pat kai kurios standartinės tvarkos (pvz., „AddDevice“, „StartIo“ir kt.).
6 žingsnis
Įdiegti tvarkyklės funkciją. Pridėkite kodą prie funkcijų, sukurtų ankstesniame žingsnyje. Pridėkite logiką tvarkyti įvesties / išvesties užklausas ir kt.