Windows- ում անհատական համակարգչի բոլոր սարքերի հետ միասնական աշխատանքը, ինչպես նաև օպերացիոն համակարգի որոշ այլ գործառույթներ տրամադրվում են մի շարք վարորդների կողմից: Վարորդներ գրելու համար հարկավոր է լավ հասկանալ ծրագրավորումը, միջուկի սկզբունքները և տարբեր Windows ենթահամակարգերը:
Անհրաժեշտ է
Windows Driver Development Kit
Հրահանգներ
Քայլ 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
Իրականացնել վարորդի ֆունկցիոնալությունը: Նախորդ քայլում ստեղծված գործառույթներին ավելացնել կոդ: Ավելացրեք տրամաբանություն ՝ I / O հարցումները կարգավորելու համար և այլն: