Як написати драйвера

Уніфікована робота з усіма пристроями персонального комп`ютера в Windows, а також деякі інші функції операційної системи забезпечуються набором драйверів. Для того щоб написати драйвера, потрібно добре розбиратися в програмуванні, принципи функціонування ядра і різних підсистем Windows.
Як написати драйвера

Вам знадобиться

  • - Windows Driver Development Kit.

Інструкція

1
Завантажте дистрибутив Windows Driver Development Kit (DDK) з сайту microsoft.com (доступний для передплатників MSDN) і встановіть його на комп`ютер. Даний пакет містить всі необхідні засоби для розробки і збірки драйверів (компілятор, линкер, заголовки, бібліотеки), а також вичерпну документацію.
2


Детально вивчіть всю доступну документацію з написання драйверів під Windows. Використовуйте довідкову інформацію з пакету DDK і відповідного розділу MSDN (msdn.microsoft.com). Ви повинні повністю зрозуміти всі аспекти моделі драйверів Windows (WDM), засвоїти основні архітектурні концепції. Необхідно чітко розуміти різницю між драйверами, що працюють в режимі користувача і в режимі ядра, драйверами пристроїв і файлових систем. Потрібно знати особливості різних класів драйверів, їх типів (драйвери шин, фільтрів, функціональні драйвери) і підтипів (драйвери дисплеїв, модемів, мережевих пристроїв, паралельних і послідовних портів, пристроїв зберігання інформації). Особливу увагу приділіть принципам пакетно-керованого введення-виведення (Packet-Driven I / O) з повторно-використовуваними пакетами запитів (Reusable IRPs), управлінню пам`яттю, обробці виключень і правильному застосуванню об`єктів синхронізації.
3
Чітко визначте функціонал розроблюваного драйвера. На основі цього визначте, до якого типу і класу він належить.
4



Виберіть мову програмування. Традиційно драйвери, що працюють в режимі ядра, реалізуються на C. Драйвери користувальницького режиму зазвичай розробляють на C ++. З цих правил є кілька винятків. Так, на C ++ пишуться клієнтські мінідрайвери аудіо та відео потоків, WDM аудіо драйвери мініпорт режиму ядра, WIA драйвери, іноді драйвери дисплея.
5
Створіть проект, який реалізує заготовку драйвера. Досліджуйте каталог DDK з прикладами. Підберіть демонстраційний проект драйвера потрібного типу. Якщо підходящого прикладу не знайшлося, самостійно створіть файли, що містять потрібний вихідний код, а також файли сценаріїв збірки. Наприклад, при розробці драйвера режиму ядра потрібно реалізувати функцію DriverEntry, що містить код ініціалізації, а також деякі стандартні процедури (такі як AddDevice, StartIo, і т.д.).
6
реалізуйте функціонал драйвера. Додайте код в функції, створені на попередньому кроці. Додайте логіку обробки запитів вводу-виводу, і т.д.


Увага, тільки СЬОГОДНІ!


Оцініть, будь ласка статтю
Всього голосів: 111
Увага, тільки СЬОГОДНІ!