Директива 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 фильтр будет вставляться в уровень фильтра по умолчанию для фильтров верхнего или нижнего устройств, как указано ниже. Если базовый пакет драйвера не предоставляет эти метаданные, фильтр будет вставлен в указанные верхние или нижние фильтры в произвольном порядке.