Windows-dagi shaxsiy kompyuterning barcha qurilmalari bilan birlashtirilgan ish, shuningdek operatsion tizimning ba'zi boshqa funktsiyalari drayverlar to'plami tomonidan ta'minlanadi. Drayvlarni yozish uchun dasturlash, yadro printsiplari va har xil Windows quyi tizimlarini yaxshi tushunishingiz kerak.
Kerakli
Windows Driver Development Kit
Ko'rsatmalar
1-qadam
Windows Driver Development Kit (DDK) tarqatilishini microsoft.com saytidan yuklab oling (MSDN abonentlari uchun mavjud) va kompyuteringizga o'rnating. Ushbu to'plamda drayverlarni ishlab chiqish va yaratish uchun barcha kerakli vositalar (kompilyator, bog'lovchi, nom fayllari, kutubxonalar) hamda keng qamrovli hujjatlar mavjud.
2-qadam
Windows uchun drayverlarni yozish bo'yicha barcha mavjud hujjatlarni batafsil o'rganing. DDK va tegishli MSDN mavzusidagi ma'lumotlardan foydalaning (msdn.microsoft.com). Siz Windows Driver Model (WDM) ning barcha jihatlarini to'liq tushunishingiz va asosiy me'moriy tushunchalarni tushunishingiz kerak. Siz foydalanuvchi rejimi va yadro rejimi drayverlari, qurilma drayverlari va fayl tizimi drayverlari o'rtasidagi farqlarni aniq tushunishingiz kerak. Siz haydovchilarning turli sinflarining xususiyatlarini, ularning turlarini (avtobus drayverlari, filtrlar, funktsional drayvlar) va pastki turlarini (displey drayverlari, modemlar, tarmoq qurilmalari, parallel va ketma-ket portlar, saqlash qurilmalari) bilishingiz kerak. Qayta foydalaniladigan IRP-lar bilan paketli boshqariladigan kiritish-chiqarish printsiplariga, xotirani boshqarish, istisnolardan foydalanish va sinxronizatsiya moslamalarini to'g'ri qo'llashga alohida e'tibor bering.
3-qadam
Ishlab chiqilayotgan haydovchining funksionalligini aniq belgilab qo'ying. Shunga asoslanib, uning qaysi turiga va sinfiga mansubligini aniqlang.
4-qadam
Dasturlash tilini tanlang. An'anaviy ravishda, yadro rejimidagi drayvlar S da amalga oshiriladi. Foydalanuvchi rejimidagi drayvlar odatda C ++ da ishlab chiqiladi. Ushbu qoidalardan bir nechta istisnolar mavjud. Masalan, audio va video oqimlari uchun mijoz minidriverlari, yadro rejimi miniportlari uchun WDM audio drayverlari, WIA drayverlari va ba'zida displey drayverlari C ++ da yozilgan.
5-qadam
Drayv stubini amalga oshiradigan loyiha yarating. DDK katalogini misollar bilan o'rganing. To'g'ri haydovchi demo loyihasini toping. Agar mos keladigan misolni topa olmasangiz, kerakli manba kodini o'z ichiga olgan fayllarni o'zingiz yarating va skript fayllarini yarating. Masalan, yadro rejimi drayverini ishlab chiqishda, boshlang'ich kodini o'z ichiga olgan DriverEntry funktsiyasini bajarishingiz kerak, shuningdek ba'zi bir odatiy tartiblar (masalan, AddDevice, StartIo va boshqalar).
6-qadam
Drayv funksiyasini amalga oshiring. Oldingi bosqichda yaratilgan funktsiyalarga kod qo'shing. Kiritish-chiqarish talablarini bajarish uchun mantiq qo'shing va hokazo.