Однажды на работе передо мной встала задача по управлению доступом и перенаправлению запросов к файловой системе внутри определённых процессов.
Необходимо было реализовать простое, легко настраиваемое решение.
Я решил разработать драйвер MiniFilter, который настраивается с помощью текстового файла.
Давайте посмотрим, что такое MiniFilter в целом: Фильтрация осуществляется через так называемый Менеджер фильтров, который поставляется вместе с операционной системой Windows и активируется только при загрузке мини-фильтров.
Менеджер фильтров подключается напрямую к стеку файловой системы.
Мини-фильтры регистрируются для обработки данных операций ввода-вывода с использованием функций диспетчера фильтров, что обеспечивает косвенный доступ к файловой системе.
После регистрации и запуска мини-фильтр получает набор данных об операциях ввода-вывода, которые были указаны при настройке, и при необходимости может вносить изменения в эти данные, влияя таким образом на работу файловой системы.
На следующей диаграмме в упрощенной форме показано, как работает диспетчер фильтров.
Более подробную теоретическую информацию вы можете получить на сайте MSDN по ссылке в конце статьи.
Все устроено довольно хорошо.
Мы будем двигаться в сторону развития и рассмотрим некоторые базовые структуры, которые необходимо заполнить.
Общие глобальные данные.
Теги: #Системное программирование #минифильтр #драйвера #файловая система #Системное программированиеtypedef struct _MINIFILTER {
-
Огромный Рост Просмотра Видео В Интернете
19 Oct, 24