FwpmConnectionPolicyAdd0 函数 (fwpmk.h)

FwpmConnectionPolicyAdd0API 函数配置出站连接的路由策略。

语法

NTSTATUS FwpmConnectionPolicyAdd0(
  [in]                             HANDLE                       engineHandle,
  [in]                             const FWPM_PROVIDER_CONTEXT3 *connectionPolicy,
  [in]                             FWP_IP_VERSION               ipVersion,
  [in]                             UINT64                       weight,
  [in]                             UINT32                       numFilterConditions,
  [in, reads(numFilterConditions)] const FWPM_FILTER_CONDITION0 *filterConditions,
  [in, optional]                   PSECURITY_DESCRIPTOR         sd
);

参数

[in] engineHandle

使用筛选器引擎打开会话的句柄。 若要打开与筛选器引擎的会话,请调用 FwpmEngineOpen0

[in] connectionPolicy

与提供程序上下文关联的状态。

[in] ipVersion

流量的 IP 版本。

[in] weight

指定此受信任的中介代理(TIA)应与任何对等方进行比较的权重。

[in] numFilterConditions

filterConditions中 元素的数目。

[in, reads(numFilterConditions)] filterConditions

一个筛选器条件,对于要执行的操作必须为 true。

在可能的匹配条件(请参阅 筛选条件标识符),FwpmConnectionPolicyAdd0支持以下列表中的条件。 在 FWPM_FILTER_CONDITION0::fieldKey中设置这些值。

  • FWPM_CONDITION_ALE_APP_ID
  • FWPM_CONDITION_ALE_USER_ID
  • FWPM_CONDITION_IP_LOCAL_ADDRESS
  • FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE
  • FWPM_CONDITION_IP_LOCAL_PORT
  • FWPM_CONDITION_IP_PROTOCOL
  • FWPM_CONDITION_IP_REMOTE_ADDRESS
  • FWPM_CONDITION_IP_DESTINATION_ADDRESS_TYPE
  • FWPM_CONDITION_IP_REMOTE_PORT
  • FWPM_CONDITION_FLAGS
  • FWPM_CONDITION_ALE_ORIGINAL_APP_ID
  • FWPM_CONDITION_ALE_PACKAGE_ID
  • FWPM_CONDITION_COMPARTMENT_ID

[in, optional] sd

安全信息。

返回值

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

言论

TCP/IP 堆栈支持出站连接的基于目标地址的路由。 FwpmConnectionPolicyAdd0API 允许为出站连接配置更具表现力的路由策略,从而启用更复杂的方案,例如基于源地址的路由、基于进程的路由、基于端口的路由等。 连接策略由匹配条件数组、路由设置数组和关联的权重组成。 可以配置多个策略,并根据为出站连接配置的权重来评估这些策略(权重较高优先)。 应用条件(ANDed)与出站连接匹配的第一个策略的路由设置。

这些是受支持的路由设置(请参阅 FWP_NETWORK_CONNECTION_POLICY_SETTING_TYPE):

FWP_NETWORK_CONNECTION_POLICY_SOURCE_ADDRESS。 要用于连接的源地址。 该值应为 IPv4 地址的 FWP_UINT32,以及 IPv6 地址的 FWP_BYTE_ARRAY16_TYPE

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP_INTERFACE。 要用于连接的传出接口的 LUID。 该值应为 FWP_UINT64

FWP_NETWORK_CONNECTION_POLICY_NEXT_HOP。 用于连接的 nexthop 地址(或网关)。 该值应为 IPv4 地址的 FWP_UINT32,以及 IPv6 地址的 FWP_BYTE_ARRAY16_TYPE

要求

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

另请参阅