FwpmConnectionPolicyAdd0 函数 (fwpmu.h)
TCP/IP 堆栈支持出站连接的基于目标地址的路由。 FwpmConnectionPolicyAdd0API 允许为出站连接配置更具表现力的路由策略,从而启用更复杂的方案,例如基于源地址的路由、基于进程的路由、基于端口的路由等。 连接策略由匹配条件数组、路由设置数组和关联的权重组成。 可以配置多个策略,并根据出站连接配置的权重来评估这些策略, (权重较高的优先) 。 第一个策略的路由设置,其条件 (ANDed) 与出站连接匹配。
语法
DWORD FwpmConnectionPolicyAdd0(
HANDLE engineHandle,
const FWPM_PROVIDER_CONTEXT3 *connectionPolicy,
FWP_IP_VERSION ipVersion,
UINT64 weight,
UINT32 numFilterConditions,
const FWPM_FILTER_CONDITION0 *filterConditions,
PSECURITY_DESCRIPTOR sd
);
参数
engineHandle
类型:_In_ HANDLE
使用筛选器引擎打开的会话的句柄。 若要使用筛选器引擎打开会话,请调用 FwpmEngineOpen0。
connectionPolicy
类型:_In_ const FWPM_PROVIDER_CONTEXT3*
与提供程序上下文关联的状态。
ipVersion
类型:_In_ FWP_IP_VERSION
流量的 IP 版本。
weight
类型:_In_ UINT64
指定此受信任中介代理 (TIA) 应与任何对等方进行比较的权重。
numFilterConditions
类型:_In_ UINT32
filterConditions 中的元素数。
filterConditions
类型:_In_reads_ (numFilterConditions) const FWPM_FILTER_CONDITION0*
要执行的操作必须为 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
sd
类型:_In_opt_ PSECURITY_DESCRIPTOR
安全信息。
注解
以下是支持的路由设置, (请参阅 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。 下一个hop 地址 (或网关) 用于连接。 该值应为 IPv4 地址 的FWP_UINT32 ,以及 IPv6 地址 的FWP_BYTE_ARRAY16_TYPE 。
要求
要求 | 值 |
---|---|
Header | fwpmu.h |
Library | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |