Чем драйверы фильтра файловой системы отличаются от драйверов устройств
Драйверы фильтров файловой системы и драйверы устройств в операционной системе Microsoft Windows отличаются следующими способами.
Без управления питанием
Так как драйверы фильтров файловой системы не являются драйверами устройств и поэтому не управляют аппаратными устройствами напрямую, они не получают IRP_MJ_POWER запросов. Вместо этого поставщики irP питания отправляются непосредственно в стек устройств хранения. Однако в редких случаях драйверы фильтров файловой системы могут мешать управлению питанием. По этой причине драйверы фильтра файловой системы не должны регистрировать подпрограммы диспетчеризации для IRP_MJ_POWER в подпрограмме DriverEntry и не должны вызывать подпрограммы PoXxx .
Без WDM
Драйверы фильтров файловой системы не могут быть драйверами модели драйверов Windows (WDM). Модель драйверов Microsoft Windows предназначена только для драйверов устройств.
Нет AddDevice или StartIo
Так как драйверы фильтров файловой системы не являются драйверами устройств и, следовательно, не управляют аппаратными устройствами напрямую, они не должны иметь процедур AddDevice или StartIo .
Разные созданные объекты устройств
Хотя драйверы фильтров файловой системы и драйверы устройств создают объекты устройств, они различаются по количеству и типам создаваемых ими объектов устройств.
Драйверы устройств создают физические и функциональные объекты устройств для представления устройств. Диспетчер Plug and Play (PnP) создает и обслуживает глобальное дерево устройств, содержащее все объекты устройств, созданные драйверами устройств. Объекты устройств, создаваемые драйверами фильтров файловой системы, не содержатся в этом дереве устройств.
Драйверы фильтров файловой системы не создают физические или функциональные объекты устройств. Вместо этого они создают управляющие объекты устройства и фильтруют объекты устройств. Объект управляющего устройства представляет драйвер фильтра для системы и приложений в пользовательском режиме. Объект устройства фильтрации выполняет фактическую работу по фильтрации определенной файловой системы или тома. Драйвер фильтра файловой системы обычно создает один объект управляющего устройства и один или несколько объектов фильтруемых устройств.
Другие отличия
Так как драйверы фильтров файловой системы не являются драйверами устройств, они не выполняют прямой доступ к памяти (DMA).
В отличие от драйверов фильтров устройств, которые могут подключаться выше или ниже драйвера функции целевого устройства, драйверы фильтра файловой системы могут подключаться только над драйвером целевой файловой системы. Таким образом, в терминах device-driver драйвер фильтра файловой системы может быть только верхним фильтром, а не нижним фильтром.