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 对筛选器引擎的访问权限。 有关详细信息,请参阅 访问控制。
网络事件收集的默认设置如下所示:
- 将收集出站、所有(单播、多播和广播)事件。
- 入站,仅收集单播事件。
网络事件收集设置在重新启动后会保留。
若要收集入站广播和/或多播网络事件,
- 调用 FwpmEngineSetOption0,其中 选项 设置为
FWPM_ENGINE_COLLECT_NET_EVENTS
,newValue 设置为 1。 - 调用 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 开始可用。 |
目标平台 | 普遍 |
标头 | fwpmk.h |
库 | fwpkclnt.lib |
IRQL | <= PASSIVE_LEVEL |