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。 有关事务的详细信息,请参阅 对象管理。
FwpmIPsecTunnelAdd2 是 FwpmIPsecTunnelAdd的特定实现。 有关详细信息,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows Vista 开始可用。 |
目标平台 | 普遍 |
标头 | fwpmk.h |
库 | fwpkclnt.lib |
IRQL | <= PASSIVE_LEVEL |