FwpmIPsecTunnelAdd2 函数 (fwpmk.h)

FwpmIPsecTunnelAdd2 函数向系统添加新的 Internet 协议安全性(IPsec)隧道模式策略。

语法

NTSTATUS FwpmIPsecTunnelAdd2(
  [in]           HANDLE                       engineHandle,
  [in]           UINT32                       flags,
  [in, optional] const FWPM_PROVIDER_CONTEXT2 *mainModePolicy,
  [in]           const FWPM_PROVIDER_CONTEXT2 *tunnelPolicy,
  [in]           UINT32                       numFilterConditions,
  [in]           const FWPM_FILTER_CONDITION0 *filterConditions,
  [in, optional] const GUID                   *keyModKey,
  [in, optional] PSECURITY_DESCRIPTOR         sd
);

参数

[in] engineHandle

筛选引擎打开的会话句柄。 调用 FwpmEngineOpen0 以打开筛选器引擎的会话。

[in] flags

可能的值:

IPsec 隧道标志 意义
FWPM_TUNNEL_FLAG_POINT_TO_POINT 向系统添加点到点隧道。
FWPM_TUNNEL_FLAG_ENABLE_VIRTUAL_IF_TUNNELING 启用基于虚拟接口的 IPsec 隧道模式。

[in, optional] mainModePolicy

IPsec 隧道的主模式策略。

[in] tunnelPolicy

IPsec 隧道的快速模式策略。

[in] numFilterConditions

filterConditions 参数中存在的筛选条件数。

[in] filterConditions

描述应通过 IPsec 隧道传输的流量的筛选器条件数组。

[in, optional] keyModKey

指向唯一标识密钥密钥的 GUID 的指针。

如果调用方提供此参数,则只有该键控制模块将用于隧道。 否则,将应用默认键控制策略。

[in, optional] sd

与 IPsec 隧道关联的安全信息。

返回值

返回代码/值 描述
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
无法与远程或本地防火墙引擎通信。
其他 NTSTATUS 代码 发生错误。

言论

不能从只读事务中调用此函数,它失败并 FWP_E_INCOMPATIBLE_TXN。 有关事务的详细信息,请参阅 对象管理

FwpmIPsecTunnelAdd2FwpmIPsecTunnelAdd的特定实现。 有关详细信息,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows

要求

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

另请参阅