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