FwpmEngineSetOption0 函数 (fwpmu.h)

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

语法

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

参数

[in] engineHandle

类型: HANDLE

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

[in] option

类型: FWPM_ENGINE_OPTION

要设置的选项。

[in] newValue

类型: FWP_VALUE0*

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

选项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错误 。)

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

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

FWPM_ENGINE_NAME_CACHE选项保留供内部使用。

返回值

类型:DWORD

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

备注

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

不能从动态会话中调用此函数。 它将失败并 FWP_E_DYNAMIC_SESSION_IN_PROGRESS。 有关会话的详细信息,请参阅 对象管理

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

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

  • 将收集所有 (单播、多播和广播) 事件。
  • 入站,仅收集单播事件。
网络事件收集设置在重新启动后保留。

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

  1. 调用 FwpmEngineSetOption0,选项设置为 FWPM_ENGINE_COLLECT_NET_EVENTS,newValue 设置为 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_KEYWORDS,newValue 参数设置为 0 (零) 。
禁用和重新启用网络事件收集 (FWPM_ENGINE_COLLECT_NET_EVENTS) 不会重置入站广播和多播事件的收集。

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

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 fwpmu.h
Library Fwpuclnt.lib
DLL Fwpuclnt.dll

另请参阅

FWPM_ENGINE_OPTION

FWP_VALUE0

FwpmEngineGetOption0