FwpmIPsecTunnelAdd3 函数 (fwpmu.h)
向系统添加新的 Internet 协议安全 (IPsec) 隧道模式策略。
语法
DWORD FwpmIPsecTunnelAdd3(
HANDLE engineHandle,
UINT32 flags,
const FWPM_PROVIDER_CONTEXT3 *mainModePolicy,
const FWPM_PROVIDER_CONTEXT3 *tunnelPolicy,
UINT32 numFilterConditions,
const FWPM_FILTER_CONDITION0 *filterConditions,
const GUID *keyModKey,
PSECURITY_DESCRIPTOR sd
);
参数
engineHandle
类型:_In_ HANDLE
使用筛选器引擎打开的会话的句柄。 若要使用筛选器引擎打开会话,请调用 FwpmEngineOpen0。
flags
类型:_In_ UINT32
可能的值:
IPsec 隧道标志 | 含义 |
---|---|
FWPM_TUNNEL_FLAG_POINT_TO_POINT | 将点到点隧道添加到系统。 |
FWPM_TUNNEL_FLAG_ENABLE_VIRTUAL_IF_TUNNELING | 启用基于虚拟接口的 IPsec 隧道模式。 |
mainModePolicy
类型:_In_opt_ const FWPM_PROVIDER_CONTEXT3*
IPsec 隧道的可选主模式策略。
tunnelPolicy
类型:_In_ const FWPM_PROVIDER_CONTEXT3*
IPsec 隧道的快速模式策略。
numFilterConditions
类型:_In_ UINT32
filterConditions 中存在的筛选条件数。
filterConditions
类型:_In_reads_ (numFilterConditions) const FWPM_FILTER_CONDITION0*
一个筛选条件数组,描述应由 IPsec 隧道传输的流量。
keyModKey
类型:_In_opt_ const GUID*
指向唯一标识密钥模块密钥的 GUID 的可选指针。 如果提供此参数,则只有该密钥模块将用于隧道。 否则,将应用默认密钥策略。
sd
类型:_In_opt_ PSECURITY_DESCRIPTOR
与 IPsec 隧道关联的安全信息。
返回值
类型: DWORD
返回代码/值 | 说明 |
---|---|
ERROR_SUCCESS 0 |
已成功添加 IPsec 隧道模式策略。 |
FWP_E_INVALID_PARAMETER 0x80320035 |
未设置FWPM_TUNNEL_FLAG_POINT_TO_POINT,并且指定了本地/远程地址以外的条件。 |
FWP_E_* 错误代码 0x80320001 — 0x80320039 |
Windows 筛选平台 (WFP) 特定的错误。 有关详细信息,请参阅 WFP 错误代码。 |
RPC_* 错误代码 0x80010001 — 0x80010122 |
无法与远程或本地防火墙引擎通信。 |
注解
不能在只读事务中调用此函数。 它将失败并 出现FWP_E_INCOMPATIBLE_TXN。 有关事务的详细信息,请参阅 对象管理。
要求
要求 | 值 |
---|---|
Header | fwpmu.h |
Library | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |