FWPS_FILTER0 结构 (fwpstypes.h)

FWPS_FILTER0结构在筛选器引擎中定义运行时筛选器。 FWPS_FILTER2 可用。 对于 Windows 7,FWPS_FILTER1 可用。

语法

typedef struct FWPS_FILTER0_ {
  UINT64                 filterId;
  FWP_VALUE0             weight;
  UINT16                 subLayerWeight;
  UINT16                 flags;
  UINT32                 numFilterConditions;
  FWPS_FILTER_CONDITION0 *filterCondition;
  FWPS_ACTION0           action;
  UINT64                 context;
  FWPM_PROVIDER_CONTEXT0 *providerContext;
} FWPS_FILTER0;

成员

filterId

一个运行时标识符,用于标识筛选器引擎中的筛选器。

weight

一个FWP_VALUE0结构,其中包含一个值,该值指定筛选器相对于筛选器引擎中其他筛选器的重要性。 首先调用 权重 值较高的筛选器。 FWP_VALUE0 结构中指定的数据类型为FWP_UINT64或FWP_EMPTY。 如果 FWP_VALUE0 结构中指定的数据类型FWP_EMPTY,则筛选器引擎会根据筛选器测试数据与筛选器引擎中其他筛选器的具体程度自动为筛选器分配权重。

subLayerWeight

一个 值,该值指定筛选器子层相对于筛选器引擎中其他子层的重要性。 首先调用位于子层中具有较高 subLayerWeight 值的筛选器

flags

指定标注的 分类Fn0 标注函数在处理网络数据时应执行的操作的标志。 可能的标志包括:

含义
FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT 此标志向标注的 分类Fn0 标注函数指示,当标注返回建议操作的FWP_ACTION_BLOCK或FWP_ACTION_PERMIT时,它应始终清除FWPS_RIGHT_ACTION_WRITE标志。 如果未设置此标志,则标注的 分类Fn0 标注函数应仅在返回建议操作FWP_ACTION_BLOCK时清除FWPS_RIGHT_ACTION_WRITE标志。
FWPS_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED 此标志向标注的 分类Fn0 标注函数指示,如果未注册标注,则应将标注视为允许筛选器。
FWPS_FILTER_FLAG_OR_CONDITIONS 同一字段有多个条件。 OR 应用的语义。
FWPS_FILTER_FLAG_HAS_SECURITY_REALM_PROVIDER_CONTEXT 筛选器引用 IPsec 安全领域 ID 的提供程序上下文。
FWPS_FILTER_FLAG_SILENT_MODE 筛选器处于无提示模式。
FWPS_FILTER_FLAG_IPSEC_NO_ACQUIRE_INITIATE 如果数据包与此标志的筛选器中的 IPsec 策略匹配,请不要启动 IPsec 获取。
FWPS_FILTER_FLAG_RESERVED0 预留给系统使用。
FWPS_FILTER_FLAG_RESERVED1 预留给系统使用。
FWPS_FILTER_FLAG_RESERVED2 预留给系统使用。

numFilterConditions

filterCondition 成员指向的数组中的FWPS_FILTER_CONDITION0结构数。 此成员可以为零。

filterCondition

指向 FWPS_FILTER_CONDITION0 结构的数组的指针。 这些结构定义筛选器的运行时筛选条件。 如果 numFilterConditions 成员为零,则此指针将为 NULL

action

一个FWPS_ACTION0结构,指定在筛选器的所有筛选条件都为 true 时筛选器应采取的操作。

context

与筛选器关联的上下文值。 将筛选器添加到筛选器引擎时,标注可以将此成员设置为指向标注驱动程序的 notifyFn0 标注函数内的标注驱动程序提供的上下文结构。 此上下文结构对于筛选器引擎不透明,可由标注驱动程序的 分类Fn0 标注函数使用,以保留筛选器引擎对标注驱动程序的 分类Fn0 标注函数的调用之间的任何特定于驱动程序的数据或状态信息。

providerContext

指向提供程序上下文的指针,该上下文的格式设置为 FWPM_PROVIDER_CONTEXT0 结构。 如果筛选器使用标注,并且标注设置了FWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT标志,则此成员将包含来自相应 FWPM_FILTER0 结构的提供程序上下文。 否则,此参数为 NULL

注解

筛选器引擎将指向 FWPS_FILTER0 结构的指针传递给标注的 notifyFn0分类Fn0 标注函数。

仅当筛选器的所有筛选条件都为 true 时,才会执行筛选器的操作。 如果未在筛选器中指定筛选条件,则始终执行指定的操作。

ProviderContext 成员为标注驱动程序提供了一种机制,用于检索提供程序上下文,而无需 (BFE) 调用基本筛选引擎。

要求

要求
最低受支持的客户端 从 Windows Vista 开始可用。
标头 fwpstypes.h (包括 Fwpsk.h)

另请参阅

FWPM_CALLOUT0

FWPM_FILTER0

FWPM_PROVIDER_CONTEXT0

FWPS_ACTION0

FWPS_FILTER1

FWPS_FILTER2

FWPS_FILTER_CONDITION0

FWP_VALUE0

classifyFn0

notifyFn0