Всем доброго! Драйвер-фильтр!!! С чем его едят.... Скажу следующее, самостятельно я еще ни написал не одного драйвера, потому как, до конца не осознаю, как же все это крутится. Но сами понимаете, понять это можно только получи вкакую-то практику. А тут и задача появилась, но хотелось бы получить экспертную оценку от профессионалов. Литературу по данному виду драйверов найти сложно, да ее и не так много(коммерциализация понимате ли). И так, за основу я хотел бы взять драйвер фильтр от Руссовича(Filemon), но сколько подходит его метод и есть ли иные пути решения данных задач. О хаке не стоит писать, эта тема в данный момент мало интересна мне. Драйвер - фильтр, это моя оснавная цель. В каком направлении идти и что брать за основу, какие подводные камни существует по данной теме. Заранее, всем спасибо!!!
Я не эксперт, но, IMHO, если хочешь по-настоящему разобраться с базовыми вещами по фильтрам, начинать надо с DDK\src\general\toaster. Месяца через три плотной работы ты будешь знать, что такое драйвер шины, функциональный драйвер, все виды фильтров, как писАть ко-инсталлятор, класс-инсталятор, как создать inf-файл, как вообще устанавливать драйвера, как использовать Setup API, WMI и Event Tracing. Это сложный путь, но зато пройдя его, ты будешь знать не просто, как функционирует отдельно взятый драйвер-фильтр, а как работает весь стек девайсов, со всеми потрохами. Из литературы, в обязательном порядке читать Programming The Windows Driver Model 2nd Walter'а Oney - там объяснено почти всё. А Filemon я пока бы отложил - это драйвер-фильтр файловой системы. Там своя специфика. Начинать с этого не стОит. ЗЫ: Рекомендую ещё (скромненько так) меня почитать "Часть 15 : Жизненный цикл IRP" и "Часть 16 : Драйвер-фильтр (не PnP)" ЗЗЫ: Подводных камней в этом деле тьма.
Four-F,thx. я прочитал все твои статьи, быть может без должного внимания, но как говориться на одном дыхании, вообще я все статьи касаемые драйверов прочитал(те что на сайте). и какое-то смутное представление обо всем этом деле имею, но все в теории, вот и решил попробовать на практике, но хотелось бы знать, будет ли этот метод верным, потому как и так много времени потерял. Я не прочь долбиться головой об стенку, но если за стенкой ничего нет... вот почему я обратился к людям более менее имеющие представление о том как и что может быть приемлемым в данном вопросе. В инете встречал не мало комментариев о том, что за основу построения драйвера-фильтр файловой системы, люди берут исходники Руссовича(Filemon)(классический вариант кодирование\декодирование). Его исходники я тоже просмотрел, вроде как все понятно, кроме одного. Никак не могу найти более менее толковое пояснения что же такое _FAST_IO_DISPATCH. Если есть какая-то расширенная информация об этом, дайте линк или объяснения, что это и в каких случаях оно применимо. Заранее, спасибо.
Это в/в без формирования IRP и посылки его драйверу. Используется, в основном, драйверами файловых систем при операциях с кэшированными данными. Т.е. данные сразу (синхронно) помещаются/достаются в/из кэша, что намного быстрее чем делать IRP и ждать, когда он пройдет по стеку. Любой драйвер-фильтр файловой системы должен иметь точки входа для быстрого в/в. Я приаттачил небольшую статью. volodya, кажись выкладывал на сайт всю подборку пдф с osr.com Кое-что по быстрому в/в есть в книге "Building NT File System Drivers" by Rajeev Nagar, хотя она и старовата, но там именно заточка под драйвера файловых систем. _338752575__FastIo.rar
Four-F, про "Building NT File System Drivers" by Rajeev Nagar, в инете я нашел отсканированный материал, но как-то он криво собран, почти 20% материала отсутвует, где через строчку, а где вовсе весь абзац пропадает. Такой материал у всех или есть более цельный документ? Four-F, спасибо за статью.
Я встречал её в двух вариантах (оба скан): 1. всё в одном pdf 2. один pdf на каждую главу и аппендикс Что там в 1-ом варианте не помню, а 2-ой вполне читабелен, только картинки хреново получились. Такого чтоб абзацы выпадали не помню... ...хотя, нет, припоминаю, что было буквально несколько перекошенных страниц, там даже текст не копировался, но учитывая халявность всё в пределах разумного.
volodya, извини. LuckyDevil, ещё один совет, раз уж ты за FileMon взялся. Настоятельно рекомендую посмотреть DDK\src\filesys\filter\filespy - там куча комментариев, объясняющих весьма неочевидные вещи.
Four-F, я попыталяся его просмотреть, млин... там столько кода, что я растерялся. Страшно ))) а все же придется. Four-F, по поводу книги "Building NT File System Drivers" у меня именно второй вариант? разбитsq по главам и как раз он и является кривым, не понятно либо это сделано было умышлено, либо при сборке документа что-то пошло нетак, читать такой документ одно "удовольствие", но как говориться "на без рыбье и рак рыба"(читать текст на английском, да еще кусками... печальное занятие). И все же, если не жалко кинь на мыло lucky.devil@mail.ru.