В свое время я начинал с двух книг. Первая - Edvard N. Dekker, Joseph M. Newcomer - Developing Windows NT Device Drivers - A Programmer's Handbook. Вторая - Walter Oney - Windows Driver Model - или нечто подобное по названию. Первой книги в электронном виде я не встречал, вторая есть в местных закромах.
Теоретически, после прочтения второй книги получится понять в первом приближении как надо писать драйвера и немного зацепить механизмы, приводимые в действие в недрах ОС при выполнении празличных вызовов. Для более глубокого понимания внутренностей рекомендуется прочитать и вторую книгу. Она будет очень полезна для понимая механизмов работы ядра ОС.
Есть еще не самая плохая русская книга Солдатова - однако она содержит больше набор готовых рецептов и, IMHO, менее способствует пониманию тонкостей драйверописания.
С этого можно начать. Дальше есть конференции на Google, посвященные именно вопросу разработки драйверов под различные версии NT систем.
С точки зрения фреймворка - здесь руководствуйтесь собственным вкусом и наличным временем. С Jungo вы сможете написать нечто работоспособное уже через пару недель разборок. Numega, возможно, даст еще более быстрый старт, но она, судя по всему, уже не поддерживается. Чистый DDK имеет смысл учить только в том случае, если вы собираетесь и дальше заниматься написанием драйверов, поскольку нечто вменяемое на чистом DDK получится не ранее, чем месяца через три. KMDF - это дальнейшее расширение технологии WDM, а в своей базе просто еще один фрамеворк от производителя ОС. С ним я еще не работал, но судя по отзывам - очень неплохая штука. Возможно вам можно начать с нее, если найдете достаточно информации по ней. UMDF - совсем ничего не знаю о ней. Мож дойдут руки - посмотрю.
--------------------
WBR, V. Mirgorodsky
|