Цитата(Oldring @ Jul 11 2007, 14:28)

Я, например, про свои все еще не уверен. Хоть немало сил потратил на изучение тонкостей обработки этих событий, описанных, зачастую, не в хелпе DDK, а в дополнительных статьях, разъясняющих тонкости ядра виндов. В общем, WDM драйвера оставили у меня ощущение кошмара.
А что, пакеты типа Windirver от Jungo, освобождают от необходимости изучать устройство ОС? Если писать серьезный коммерческий драйвер, то в тонкости все равно надо вникать, да и не так их там уж много. ИМХО, "рюшечки" типа WinDiver хороши для стандартных вещей, но если шаг вправо-влево, то разбираться придется по-любому. Так что я бы начал с DDK и упомянутой книжки от Oney. Это немного сложнее (просто больше деталей больше), но оно того стоит.
В свое время bus driver писать для виртуальной шины пришлось (этот тот который PDO рулит и обрабатывает все запросы, которые Ваш FDO драйвер вниз пробрасывает) - получится такой написать с использованием WinDriver? (Хотя, если честно, давно этот пакет не смотрел, может уже и можно)
Насчет уверенности в драйверах - есть пакеты для стресс-тестов, те которые WHQL использует - иногда неплохо помогает. Обработка "ужасно сложных" событий Power/PnP там вполне проверяется на соответствие требованиям системы.
Ну и - Windriver не бесплатный - если драйвер будет продаваться с устройством, то лицензия нужна как ни крути.