FwpmIPsecTunnelAdd3 函数 (fwpmk.h)

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

语法

NTSTATUS FwpmIPsecTunnelAdd3(
  [in]                             HANDLE                       engineHandle,
  [in]                             UINT32                       flags,
  [in, optional]                   const FWPM_PROVIDER_CONTEXT3 *mainModePolicy,
  [in]                             const FWPM_PROVIDER_CONTEXT3 *tunnelPolicy,
  [in]                             UINT32                       numFilterConditions,
  [in, reads(numFilterConditions)] 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, reads(numFilterConditions)] 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。 有关事务的详细信息,请参阅 对象管理

要求

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

另请参阅