FwpmEngineSetOption0 函数 (fwpmk.h)

FwpmEngineSetOption0 函数更改筛选器引擎设置。

语法

NTSTATUS FwpmEngineSetOption0(
  [in] HANDLE             engineHandle,
  [in] FWPM_ENGINE_OPTION option,
  [in] const FWP_VALUE0   *newValue
);

参数

[in] engineHandle

筛选引擎打开的会话句柄。 调用 FwpmEngineOpen0 以打开筛选器引擎的会话。

[in] option

要设置的选项。

[in] newValue

新选项值。 newValue 参数中包含的数据类型应 FWP_UINT32

FWPM_ENGINE_COLLECT_NET_EVENTS选项 时,newValue 应为下列选项之一。

价值 意义
0 不要收集网络事件。
1 收集网络事件。 这是默认设置。

FWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDS选项 时,newValue 应为 0(零)或以下值的按位组合。

注意

如果 newValue 为 0,则会禁用入站多播和广播事件的集合。 这是默认设置。

价值 意义
FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST
1
收集入站多播网络事件。
FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST
2
收集入站广播网络事件。

选项FWPM_ENGINE_PACKET_QUEUING(仅在 Windows 8 和 Windows Server 2012 中可用)时,newValue 应为下列选项之一。

价值 意义
FWPM_ENGINE_OPTION_PACKET_QUEUE_NONE
0
不要启用数据包队列。
FWPM_ENGINE_OPTION_PACKET_QUEUE_INBOUND
1
启用入站数据包队列。
FWPM_ENGINE_OPTION_PACKET_QUEUE_OUTBOUND
2
启用出站数据包队列。

选项FWPM_ENGINE_MONITOR_IPSEC_CONNECTIONS(仅在 Windows 8 和 Windows Server 2012 中可用),newValue 应如下所示。 (FwpmEngineSetOption0 可用于启用连接,但在尝试禁用连接时,FWP_E_STILL_ON ERROR 失败。

价值 意义
1 将启用 IPsec 连接监视功能。 将记录新的 IPsec 连接事件以及发送的通知。

选项FWPM_ENGINE_TXN_WATCHDOG_TIMEOUT_IN_MSEC(仅在 Windows 8 和 Windows Server 2012 中可用),newValue 应是指定单个 WFP 事务的最大持续时间的时间(以毫秒为单位)。 超过此持续时间的事务将触发监视程序事件。

FWPM_ENGINE_NAME_CACHE 选项保留供内部使用。

返回值

返回代码/值 描述
ERROR_SUCCESS
0
成功
FWP_E_* 错误代码
0x80320001 — 0x80320039
Windows 筛选平台(WFP)特定错误。 有关详细信息,请参阅 WFP 错误代码
RPC_* 错误代码
0x80010001 — 0x80010122
无法与远程或本地防火墙引擎通信。
其他 NTSTATUS 代码 发生错误。

言论

无法从事务中调用此函数,它失败并FWP_E_TXN_IN_PROGRESS。 有关事务的详细信息,请参阅 对象管理

无法从动态会话中调用此函数,但 FWP_E_DYNAMIC_SESSION_IN_PROGRESS失败。 有关会话的详细信息,请参阅 对象管理

调用方需要 FWPM_ACTRL_WRITE 对筛选器引擎的访问权限。 有关详细信息,请参阅 访问控制

网络事件收集的默认设置如下所示:

  • 将收集出站、所有(单播、多播和广播)事件。
  • 入站,仅收集单播事件。

网络事件收集设置在重新启动后会保留。

若要收集入站广播和/或多播网络事件,

  1. 调用 FwpmEngineSetOption0,其中 选项 设置为 FWPM_ENGINE_COLLECT_NET_EVENTSnewValue 设置为 1。
  2. 调用 FwpmEngineSetOption0,选项设置为 FWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDS并将 newValue 参数设置为 FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST 和/或 FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST

若要停止收集入站广播和/或多播网络事件,

  • 调用 FwpmEngineSetOption0,选项设置为 FWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDSnewValue 参数设置为 0(零)。

禁用和重新启用网络事件收集(FWPM_ENGINE_COLLECT_NET_EVENTS)不会重置入站广播和多播事件的集合。

FwpmEngineSetOption0FwpmEngineSetOption的特定实现。 有关详细信息,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows

要求

要求 价值
最低支持的客户端 从 Windows Vista 开始可用。
目标平台 普遍
标头 fwpmk.h
fwpkclnt.lib
IRQL <= PASSIVE_LEVEL

另请参阅