INF AddFilter 指令
每个 AddFilter 指令都会将驱动程序服务的安装描述为声明性筛选器安装到筛选器位置或级别。 Windows 10 版本 1903 及更高版本中支持此指令。
声明性筛选器使用元数据注册筛选器,而不是使用注册表值指定要添加到设备堆栈中的上层或下层筛选器的特定列表。 此元数据用于在设备启动时生成筛选器的最终列表。 声明性筛选器可与使用 UpperFilters/LowerFilters 注册表值的旧模型结合使用。 有关声明性筛选器模型的详细信息,请参阅设备筛选器驱动程序排序。
在 INF DDInstall.Filters 部分中使用 AddFilter 指令。
[DDInstall.Filters]
AddFilter=FilterName,[flags],filter-install-section
条目
FilterName
指定要安装的筛选器的名称。 此名称必须与系统上安装的驱动程序服务的名称完全匹配。
flags
标志当前未使用,如果指定,则必须为 0。
filter-install-section
引用 INF 编写器定义的部分,此部分包含有关如何将筛选器添加到设备堆栈中的元数据。
注解
每个 INF 编写器创建的部分名称都必须遵循定义节名称的一般规则。 有关这些规则的详细信息,请参阅 INF 文件的常规语法规则。
AddFilter 指令必须引用 INF 中其他位置指定的 filter-install-section。 每个此类部分都采用以下形式:
[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 会将筛选器插入到指定的上层或下层设备筛选器的默认筛选器级别。 如果基准驱动程序包未提供此元数据,则将按有效的任意顺序将筛选器插入到指定的上层或下层筛选器中。