Objedinjeni rad sa svim uređajima osobnog računala u sustavu Windows, kao i nekim drugim funkcijama operativnog sustava pruža skup upravljačkih programa. Da biste napisali upravljačke programe, morate dobro razumjeti programiranje, principe jezgre i razne Windows podsustave.
Potrebno
Windows Driver Development Kit
Upute
Korak 1
Preuzmite distribuciju Windows Driver Development Kit (DDK) s web stranice microsoft.com (dostupno pretplatnicima MSDN) i instalirajte je na svoje računalo. Ovaj paket sadrži sve potrebne alate za razvoj i izgradnju upravljačkih programa (kompajler, povezivač, datoteke zaglavlja, knjižnice), kao i sveobuhvatnu dokumentaciju.
Korak 2
Detaljno proučite svu dostupnu dokumentaciju o pisanju upravljačkih programa za Windows. Upotrijebite referentne informacije iz DDK-a i povezane MSDN teme (msdn.microsoft.com). Morate u potpunosti razumjeti sve aspekte Windows upravljačkog modela (WDM) i shvatiti osnovne arhitektonske koncepte. Morate jasno razumjeti razlike između upravljačkog programa u korisničkom načinu rada i načina rada jezgre, upravljačkih programa uređaja i upravljačkih programa datotečnog sustava. Morate znati značajke različitih klasa upravljačkih programa, njihove vrste (upravljački programi sabirnice, filtri, funkcionalni upravljački programi) i podvrste (upravljački programi zaslona, modemi, mrežni uređaji, paralelni i serijski priključci, uređaji za pohranu). Obratite posebnu pozornost na principe paketno upravljanog I / O-a s višekratnim IRP-ovima, upravljanje memorijom, rukovanje iznimkama i ispravnu primjenu objekata sinkronizacije.
3. korak
Jasno definirajte funkcionalnost upravljačkog programa koji se razvija. Na temelju toga odredite kojem tipu i klasi pripada.
4. korak
Odaberite programski jezik. Tradicionalno su pokretački programi u načinu jezgre implementirani u C. Pogonski moduli u korisničkom načinu rada obično se razvijaju u C ++. Postoji nekoliko iznimaka od ovih pravila. Na primjer, klijentski minidriver za audio i video stream, WDM audio driver za miniport u načinu jezgre, WIA upravljački programi, a ponekad i upravljački programi zaslona napisani su na C ++.
Korak 5
Stvorite projekt koji implementira klizač upravljačkog programa. Istražite direktorij DDK s primjerima. Pronađite ispravan demo demo projekt. Ako ne možete pronaći odgovarajući primjer, sami stvorite datoteke koje sadrže potreban izvorni kod i izradite datoteke skripti. Na primjer, kada razvijate pogonitelj načina rada jezgre, morate implementirati funkciju DriverEntry, koja sadrži inicijalizacijski kôd, kao i neke standardne rutine (kao što su AddDevice, StartIo itd.).
Korak 6
Primijenite funkcionalnost upravljačkog programa. Dodajte kôd funkcijama stvorenim u prethodnom koraku. Dodajte logiku za obradu I / O zahtjeva, itd.