В чем разница между мини-драйвером и драйвером фильтра? Это одно и то же?
1 ответ
Драйвер минипорта - это драйвер для определенного USB, Audio, SCSI и сетевого адаптера, который опирается на остальную часть стека драйверов для обеспечения общих функциональных возможностей для устройств этого типа.
Драйверы фильтров добавляют дополнительную функциональность в стек драйверов и требуют использования драйверов функций шины и устройства.
Например, камера GigE Vision может поставляться с двумя драйверами, драйвером камеры минипорта и драйвером фильтра Ethernet.
- Драйвер камеры может сделать камеру похожей на камеру Windows, что позволит вам снимать неподвижные изображения и видео, как если бы вы использовали веб-камеру USB.
- Драйвер фильтра предоставит драйверу камеры низкоуровневый доступ к интерфейсу Ethernet. Это позволило бы драйверу минипорта управлять приоритетами пакетов Ethernet, гарантируя, что не видео пакетам был присвоен более низкий приоритет, чем у пакетов видеокадров, критичных ко времени.
Со страницы Википедии для модели драйвера Windows:
Драйверы функций устройства
Функциональный драйвер является основным драйвером для устройства. Функциональный драйвер обычно пишется поставщиком устройства и является обязательным (если только устройство не используется в необработанном режиме). Функциональный драйвер может обслуживать одно или несколько устройств.
- Драйверы класса: это тип функциональных драйверов, которые можно рассматривать как встроенные драйверы фреймворка, на которых могут быть построены минипорт и другие драйверы класса. Драйверы класса обеспечивают интерфейсы между различными уровнями архитектуры WDM. Общая функциональность между различными классами драйверов может быть записана в драйвер класса и использоваться другими драйверами класса и минипорта. Нижний край драйвера класса будет иметь интерфейс, доступный для драйвера минипорта, тогда как верхний край драйверов класса верхнего уровня зависит от операционной системы. Драйверы класса могут быть динамически загружены и выгружены по желанию. Они могут выполнять специфические для класса функции, которые не являются аппаратными или шинными (за исключением драйверов класса шинного типа), и фактически иногда выполняют только специфические для класса функции, такие как перечисление.
- Драйверы минипорта: это также функциональные драйверы для USB, аудио, SCSI и сетевых адаптеров. Обычно они должны быть совместимы с исходным кодом и двоичным кодом между Windows 98 и Windows 2000 и являются аппаратно-зависимыми, но контролировать доступ к оборудованию через определенный драйвер класса шины.
Водители автобусов
Водитель автобуса обслуживает контроллер шины, адаптер или мост. Microsoft предоставляет драйверы для большинства распространенных шин, таких как PCI, PnPISA, SCSI, USB и FireWire. Каждый поставщик программного обеспечения может создавать свои собственные драйверы шины, если это необходимо. Водитель автобуса может обслуживать более одного автобуса, если на машине установлено более одного автобуса одного типа.
Фильтр драйверов
Драйверы фильтра - это дополнительные драйверы, которые добавляют ценность или изменяют поведение устройства и могут быть не драйверами устройства. Драйвер фильтра также может обслуживать одно или несколько устройств. Драйверы фильтра верхнего уровня располагаются над основным драйвером для устройства (функциональный драйвер), а драйверы фильтра нижнего уровня располагаются ниже функционального драйвера и над драйвером шины.
- Служба драйверов. Это тип драйвера фильтра уровня ядра, реализованный в виде службы Windows, которая позволяет приложениям работать с устройствами.