Поделиться через


Директива INF AddFilter

Каждая директива AddFilter описывает установку службы драйверов как декларативный фильтр в положение фильтра или уровень. Эта директива поддерживается в Windows 10 версии 1903 и более поздних версий.

Вместо использования значения реестра для указания определенного списка верхних или нижних фильтров, добавляемых в стек устройств, декларативные фильтры регистрируют фильтры с помощью метаданных. Эти метаданные используются для создания окончательного списка фильтров во время запуска устройства. Декларативные фильтры можно использовать вместе с устаревшей моделью использования значений реестра UpperFilters/LowerFilters. Дополнительные сведения о декларативной модели фильтрации см. в разделе "Упорядочивание драйверов фильтров устройств".

Директива AddFilter используется в INF DDInstall. Раздел "Фильтры".

[DDInstall.Filters]
AddFilter=FilterName,[flags],filter-install-section

Операции

FilterName

Указывает имя установленного фильтра. Это имя должно точно соответствовать имени службы драйверов, установленной в системе.

flags

Флаги в настоящее время не используются и должны иметь значение 0, если указано.

Раздел filter-install-section

Ссылается на раздел INF-writer, содержащий метаданные о том, как фильтр должен быть добавлен в стек устройств.

Замечания

Каждое имя раздела, созданного в inf-writer, должно соответствовать общим правилам для определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для INF-файлов.

Директива AddFilter должна ссылаться на именованный раздел filter-install-section в другом месте INF-файла. Каждый такой раздел имеет следующую форму:

[filter-install-section]

[FilterLevel = LevelName]
[FilterPosition = Upper / Lower]

Примечание.

В каждом разделе filter-install-section должна быть определена позиция фильтра или уровень фильтра, но не оба. Полные сведения об определении метаданных фильтра см. в разделе "Порядок драйверов фильтра устройств"

[filter-install-section]: FilterLevel

FilterLevel = {LevelName}

FilterLevel указывает имя уровня фильтра, определенного базовым пакетом драйвера устройства. Фильтр регистрируется с таким именем уровня, и окончательный список фильтров определяется, когда устройство начинается с сборки списка фильтров из зарегистрированных фильтров в соответствии с метаданными уровня фильтра, предоставленными базовым пакетом драйвера. Если указанный уровень фильтра не определен в метаданных базового пакета драйвера, фильтр не добавляется в стек.

Полные сведения о процессе определения метаданных уровня фильтра и способа сборки окончательного списка фильтров см. в разделе о упорядочении драйверов фильтров устройств.

[filter-install-section]: FilterPosition

FilterPosition = {Upper / Lower}

FilterPosition указывает положение фильтра в стеке как верхний или нижний. Если базовый пакет драйвера устройства задает метаданные уровня фильтра, при использовании FilterPosition фильтр будет вставляться в уровень фильтра по умолчанию для фильтров верхнего или нижнего устройств, как указано ниже. Если базовый пакет драйвера не предоставляет эти метаданные, фильтр будет вставлен в указанные верхние или нижние фильтры в произвольном порядке.

См. также

Упорядочивание драйверов фильтра устройств