2009-08-28 3 views
2

Я хочу начать обучение программированию драйверов под окнами. Я никогда не программировал драйверы, и я ищу информацию о том, как начать работу.Как начать работу с драйверами Программирование под окнами

Любые учебники, ссылки, рекомендации по книгам и набор инструментов для разработки, с которыми я должен начать? (WDF будет хорошим?)

Я действительно хочу, чтобы запрограммировать следующие часы link text

Спасибо за вашу помощь.

ответ

3

Чтобы взаимодействовать с оборудованием USB, вам лучше всего будет обслуживать WinUSB или Usermode Driver Framework. Драйверы Usermode легче на порядок, имея возможность использовать C++/COM (вид) и обычную среду отладки.

Написание драйверов kernelmode должно быть зарезервировано для таких вещей, как видеокарта, диск и другие чувствительные к задержке/пропускной способности драйверы.

Еще проще использовать libusb-win32, который является библиотекой C, которая делает разговор с конечной точкой USB почти такой же простой, как запись данных в файл.

+1

Наш мир водителей намного больше, чем просто USB. Существует очень ограниченное (относительно) количество задач, которые вы можете выполнить с помощью USB-драйверов пользовательского режима, особенно с WinUSB, например, нет поддержки для изохронных труб или выборочного приостановления. – Ilya

+0

Да, конечно, но очень большое количество USB-устройств можно контролировать без такой расширенной функциональности. Я в основном сосредоточил свой ответ на USB из-за USB-часов, которые он сказал, что хочет контролировать. RS-232 никогда не умрет, пока говорить с USB-устройством не так просто. – joshperry

4

Я бы начал с downloading the windows driver kit (WDK).

Впоследствии вы определяете, какого рода драйвер вы хотите. Драйвер файловой системы? (возможно, нет), драйвер RS-232? USB-драйвер? Все они следуют различным правилам и причудам.

WDK поставляется с драйверами примеров для большинства видов драйверов и должен быстро добираться до вас.

2

Должно быть resource для разработки драйверов для Windows, конечно же, в дополнение к WDK, указанному Eric.