Здравствуйте, Аноним, Вы писали:
А>Здравствуйте.
А>Подскажите существуют ли какие-либо хорошие туториалы/блоги по использованию TDI для фильтрации (все-таки старая технология), где можно найти описания "подводных камней" с которыми встречались более опытные разработчики? Пока использую только MSDN, чего недостаточно, т.к. опыт в ядре небольшой
А>Спасибо
1. Набираем в поиске по RSDN ключевое слово TDI. Получится порядка тысячи сообщений.
Вдумчиво читаем каждое сообщение, особенно оставленное TarasCo, x64 и другими (если кого-то
забыл, просьба не обижаться). Потом все перечитывается снова и снова, до просветления.
Аналогичное проделывается на WASM и в Google, конечно.
2. Качаются исходники tdi_fw, гуглятся обучающие сырцы PCAUSA и Rootkit.com,
делается несколько заходов на osronline, берутся доки с WHDC и Codeproject,
даже на площадках open source можно найти проекты, использующие TDI (wipfw,
wpcap и wpdpack). Не забываем заглянуть сюда —
http://x64.blog.ru/
3. Находим книгу Уолтера Они и штудируем в ней все главы, относящиеся к
обработке запросов ввода-вывода фильтрующими драйверами, а также
технологии работы с PnP. Перечитываем и осмысливаем до состояния ясности в голове.
4. Ставим последний Windows Driver Kit, наитщательнейшим образом исследуем все
сэмплы, особенно те, что связаны с фильтрами. Кстати, многие примеры из WDK
следует считать образцовыми.
5. Пишем свой первый TDI-фильтр, получаем BSOD, задаем вопросы, не стесняемся.
Как-то так...
P.S. А толковой литературы по TDI не видел.