Программирование драйверов

Здесь поговорим о том как написать свой собственный драйвер под Windows XP с использованием Driver Development Kit от Microsoft.

Устанавливаем пакет Driver Development Kit (DDK)

Прежде чем погружаться в дебри программирования драйверов, нам сначало надо подготовить себе среду для работы, подготовить инструментарий так сказать. Наверное, те читатели которые уже пытались побороться с драйверами, слышали о неком DDK или Driver Development Kit, если расшифровать сокращение. Этот DDK и есть то средство без которого мы ничего сделать не сможем. В состав комплекса входят: * собственно сам компилятор, который из написанного нами кода сделает драйвер * файлов справки и примеров написанных драйверов (необольщайтесь, чтобы разобраться с каждым из примеров, уже подготовленному программисту надо потратить 1-2 недели, а лезть туда новичку вообще гиблое дело - желание изучать программирование драйверов пропадет сразу. Это обусловлено тем, что все примеры представляют из себя просто исходный код с коротеньким пояснением что этот драйвер делает.) * дополнительных программ, которые могут пригодиться при отладке и тестировании драйверов Хочу сразу огорчить, сообщив что компилятор DDK не является удобной визуальной средой программирования, как например Visual Studio C++. Общение с ним выливается в работу с командной строкой. И вообще приготовтесь к тому, что программировать драйвера в DDK не самое простое и удобное занятие. Если Вы еще не передумали бороться с драйверами, то продолжим дальше. Теперь надо этот DDK где-то достать. DDK можно найти в интеренете в свободном виде для скачивания (на пример, на этом сайте, DDK_XP). Однако, размер файла составляет ~ 140 MБ, из-за чего этот путь добычи некоторых читателей может не устроить. В свое время он меня тоже не устроил (у меня тогда еще телефонный модем стоял) и я пошел копаться по рынкам. Найти диск DDK оказалось нет просто, как я думал. Слишком тематика узкая. Вот например, что-нибудь типа "Windows для начинающих" или "Office для чайников" - это пожалуйста, а DDK я пол дня искал - случайно на Савеловском нашел. Обратите внимание! Нам нужен DDK XP, который предназначен для Windows 2000, XP а не DDK 98, который работает для 98, Me. Итак, надеюсь, что Вы раздобыли диск DDK XP. Теперь давайте установим этот "чудо" программный продукт от Microsoft на свой компьютер. В директории C:WINDDK2600.1106help теперь можно найти справочные файлы по DDK, а в C:WINDDK2600.1106src находятся примеры готовых драйверов. Можете попробовать на досуге покопаться там. Не волнуйтесь, если у Вас "глаза на лоб вылезли" после погружения в эти папки. Вы не первый и не последний. Итак, мы сделали первый шаг на пути к освоению программирования драйверов Windows. Теперь у нас есть все необходимые инструменты для работы с драверами на начальном этапе. В следующей части статьи мы начнем писать наш первый драйвер под Windows XP для управления портами.

Пишем первый драйвер. Часть 1.

Ну вот мы и добрались до самого интересного - сейчас будем писать драйвер. Итак, приступим. Для удобства выполнения, всю последовательность действий по написанию драйвера я распишу по пунктам. 1. Создание директории проекта Установив DDK, на Вашем компьютере в директории C:WINDDK2600.1106 должны появиться файлы DDK. В этой директории создадим папку, в которой будут храниться наши проекты. Назовем ее, например, MyDrivers.