Драйвер нижнего фильтра - PullRequest
       49

Драйвер нижнего фильтра

1 голос
/ 24 января 2012

Как я могу установить драйвер фильтра в качестве нижнего драйвера фильтра?Все образцы DDK являются верхним фильтром драйвера.Есть ли способ, кроме как использовать INF-файл для этой работы?Я знаю, что драйверы нижнего фильтра находятся под FDO и верхом BDO, но если их более одного, то как они упорядочены?Могу ли я поместить свой драйвер в определенное место этого стека?

Ответы [ 2 ]

4 голосов
/ 24 января 2012

Как установить драйвер фильтра в качестве нижнего драйвера фильтра?

Верхний и нижний драйверы фильтров устанавливаются практически одинаково - вам на самом деле не требуется INF - вы можете просто установить значения в реестре. Конечно, это зависит от того, какой тип драйвера фильтра вы хотите установить, но, например, если я хочу установить драйвер фильтра более низкого класса, я открою Regedit и перейду к следующей клавише:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}

Здесь вы должны увидеть строковое значение UpperFilters, содержащее PartMgr. Если вы хотите добавить фильтр нижнего уровня, просто создайте значение параметра LowerFilters и присвойте ему имя ключа вашего драйвера. GUID в имени ключа ужасен, но если вы сканируете с помощью ключа Class, вы увидите множество ключей с именами GUID - значение по умолчанию каждого из них содержит краткое описание устройства, которое представляет ключ.

Как и PartMgr и все остальные драйверы, вам нужно создать ключ драйвера в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services со всеми соответствующими значениями конфигурации. Если вы не уверены в значениях для вашего драйвера, дамп всего ключа HKLM \ SYSTEM в файл, установите драйвер нормально, возьмите второй дамп всего ключа HKLM \ SYSTEM и разведите дампы, чтобы увидеть, какие значения были помещены где.

Могу ли я поместить свой драйвер в определенное место этого стека?

Вопреки тому, что любой говорит вам иначе, ответ - нет. Иногда люди считают, что если в параметрах реестра UpperFilters и LowerFilters указано несколько драйверов, первый из этого списка загружается первым. Я даже был свидетелем этого превращения в «войны за регистрацию», когда водители постоянно борются за свою позицию в списке. Это чепуха, и вы должны разработать свой драйвер, чтобы справиться с любым другим драйвером, появляющимся выше или ниже вас.

0 голосов
/ 15 мая 2013

вы можете использовать утилиту загрузки драйверов, предоставляемую osr.com, которая будет загружать вам драйвер либо верхним / нижним фильтром драйвера. В основном это утилита на основе графического интерфейса, в которой вы найдете все опции, необходимые для загрузки драйвера.1. вы можете установить порядок загрузки драйверов.2. Вы можете выбрать драйвер, какой вы написали.3. не нужно, чтобы inf устанавливал раздел реестра, он сделает это автоматически, но если вы захотите изменить значение этого ключа, вы можете сделать это вручную.4. Для получения дополнительной информации перейдите на www.osr.com.Наслаждайтесь: -)

...