VpnChannel.StartWithTrafficFilter 方法

定义

重载

StartWithTrafficFilter(IIterable<HostName>, IIterable<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, IIterable<Object>, VpnTrafficFilterAssignment)

为 VPN 插件要使用的任意数量的传输创建 VPN 通道。 它还为客户端计算机中的应用程序创建 L3 网络接口,以便能够查看公司网络。 它允许流量筛选器的规范在每应用 VPN 方案中使用。

StartWithTrafficFilter(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object, Object, VpnTrafficFilterAssignment)

创建 VPN 插件要使用的 VPN 通道。 它还为客户端计算机中的应用程序创建 L3 网络接口,以便能够查看公司网络。 它允许流量筛选器的规范在每应用 VPN 方案中使用。

StartWithTrafficFilter(IIterable<HostName>, IIterable<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, IIterable<Object>, VpnTrafficFilterAssignment)

为 VPN 插件要使用的任意数量的传输创建 VPN 通道。 它还为客户端计算机中的应用程序创建 L3 网络接口,以便能够查看公司网络。 它允许流量筛选器的规范在每应用 VPN 方案中使用。

public:
 virtual void StartWithTrafficFilter(IIterable<HostName ^> ^ assignedClientIpv4Addresses, IIterable<HostName ^> ^ assignedClientIpv6Addresses, VpnInterfaceId ^ vpninterfaceId, VpnRouteAssignment ^ assignedRoutes, VpnDomainNameAssignment ^ assignedNamespace, unsigned int mtuSize, unsigned int maxFrameSize, bool reserved, IIterable<Platform::Object ^> ^ transports, VpnTrafficFilterAssignment ^ assignedTrafficFilters) = StartWithTrafficFilter;
/// [Windows.Foundation.Metadata.Overload("StartWithMultipleTransports")]
void StartWithTrafficFilter(IIterable<HostName> const& assignedClientIpv4Addresses, IIterable<HostName> const& assignedClientIpv6Addresses, VpnInterfaceId const& vpninterfaceId, VpnRouteAssignment const& assignedRoutes, VpnDomainNameAssignment const& assignedNamespace, uint32_t const& mtuSize, uint32_t const& maxFrameSize, bool const& reserved, IIterable<IInspectable> const& transports, VpnTrafficFilterAssignment const& assignedTrafficFilters);
[Windows.Foundation.Metadata.Overload("StartWithMultipleTransports")]
public void StartWithTrafficFilter(IEnumerable<HostName> assignedClientIpv4Addresses, IEnumerable<HostName> assignedClientIpv6Addresses, VpnInterfaceId vpninterfaceId, VpnRouteAssignment assignedRoutes, VpnDomainNameAssignment assignedNamespace, uint mtuSize, uint maxFrameSize, bool reserved, IEnumerable<object> transports, VpnTrafficFilterAssignment assignedTrafficFilters);
function startWithTrafficFilter(assignedClientIpv4Addresses, assignedClientIpv6Addresses, vpninterfaceId, assignedRoutes, assignedNamespace, mtuSize, maxFrameSize, reserved, transports, assignedTrafficFilters)
Public Sub StartWithTrafficFilter (assignedClientIpv4Addresses As IEnumerable(Of HostName), assignedClientIpv6Addresses As IEnumerable(Of HostName), vpninterfaceId As VpnInterfaceId, assignedRoutes As VpnRouteAssignment, assignedNamespace As VpnDomainNameAssignment, mtuSize As UInteger, maxFrameSize As UInteger, reserved As Boolean, transports As IEnumerable(Of Object), assignedTrafficFilters As VpnTrafficFilterAssignment)

参数

assignedClientIpv4Addresses

IIterable<HostName>

IEnumerable<HostName>

Windows.Networking.HostName 对象列表,这些对象指定 VPN 服务器分配给 VPN 客户端的 IPv4 地址(es)。 地址(es)应在 VPN L3 接口上设置。 如果为 null,则使用 DHCPv4。

assignedClientIpv6Addresses

IIterable<HostName>

IEnumerable<HostName>

Windows.Networking.HostName 对象列表,这些对象指定 VPN 服务器分配给 VPN 客户端的 IPv6 地址(es),应在 VPN L3 接口上设置该地址。 如果为 null,则使用 DHCPv6 或 RD。

vpninterfaceId
VpnInterfaceId

VpnInterfaceId 对象。

assignedRoutes
VpnRouteAssignment

Windows.Networking.VpnRouteAssignment 对象,该对象表示应与 VPN 接口关联的/不关联的路由。

assignedNamespace
VpnDomainNameAssignment

Windows.Networking.DomainNameAssignment 对象,该对象表示与 VPN 通道关联的名称前缀列表,包括其 DNS 和代理服务器。

mtuSize
UInt32

unsigned int

uint32_t

指定 VPN L3 网络接口的 MTU 大小的 UINT16 值。 这也是接收池中 IVpnPacketBuffers 的大小。 此值应配置为最多 1400。

maxFrameSize
UInt32

unsigned int

uint32_t

一个 UINT16 值,该值指定 VPN 协议封装定义的帧的最大大小,而不计算 outerTunnelTransport。 这也是发送池中 IVpnPacketBuffers 的大小。 此值应配置为 mtuSize + [封装标头的大小],并且应 <=1500。 如果 mtuSize 或封装标头大小大于 1500,则应减小,因为平台将帧大小限制为 1500。

reserved
Boolean

bool

保留。

transports

IIterable<Object>

IEnumerable<Object>

IIterable<Platform::Object>

IIterable<IInspectable>

套接字传输的 IInspectable 对象的列表。 每个对象可以是 Windows.Networking.Sockets.DatagramSocketWindows.Networking.Sockets.StreamSocket。 它们将控制与 VPN 服务器的连接,并用于发送封装的 IP 数据包并接收封装的数据。 套接字必须在调用点取消连接。

assignedTrafficFilters
VpnTrafficFilterAssignment

VpnTrafficFilterAssignment 对象,该对象允许将流量筛选器规范化为 VPN 通道。

属性

Windows 要求

设备系列
Windows 10, version 1803 (在 10.0.17134.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v6.0 中引入)
应用功能
networkingVpnProvider

适用于

StartWithTrafficFilter(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object, Object, VpnTrafficFilterAssignment)

创建 VPN 插件要使用的 VPN 通道。 它还为客户端计算机中的应用程序创建 L3 网络接口,以便能够查看公司网络。 它允许流量筛选器的规范在每应用 VPN 方案中使用。

public:
 virtual void StartWithTrafficFilter(IVectorView<HostName ^> ^ assignedClientIpv4List, IVectorView<HostName ^> ^ assignedClientIpv6List, VpnInterfaceId ^ vpnInterfaceId, VpnRouteAssignment ^ assignedRoutes, VpnDomainNameAssignment ^ assignedNamespace, unsigned int mtuSize, unsigned int maxFrameSize, bool reserved, Platform::Object ^ mainOuterTunnelTransport, Platform::Object ^ optionalOuterTunnelTransport, VpnTrafficFilterAssignment ^ assignedTrafficFilters) = StartWithTrafficFilter;
void StartWithTrafficFilter(IVectorView<HostName> const& assignedClientIpv4List, IVectorView<HostName> const& assignedClientIpv6List, VpnInterfaceId const& vpnInterfaceId, VpnRouteAssignment const& assignedRoutes, VpnDomainNameAssignment const& assignedNamespace, uint32_t const& mtuSize, uint32_t const& maxFrameSize, bool const& reserved, IInspectable const& mainOuterTunnelTransport, IInspectable const& optionalOuterTunnelTransport, VpnTrafficFilterAssignment const& assignedTrafficFilters);
/// [Windows.Foundation.Metadata.Overload("StartWithTrafficFilter")]
void StartWithTrafficFilter(IVectorView<HostName> const& assignedClientIpv4List, IVectorView<HostName> const& assignedClientIpv6List, VpnInterfaceId const& vpnInterfaceId, VpnRouteAssignment const& assignedRoutes, VpnDomainNameAssignment const& assignedNamespace, uint32_t const& mtuSize, uint32_t const& maxFrameSize, bool const& reserved, IInspectable const& mainOuterTunnelTransport, IInspectable const& optionalOuterTunnelTransport, VpnTrafficFilterAssignment const& assignedTrafficFilters);
public void StartWithTrafficFilter(IReadOnlyList<HostName> assignedClientIpv4List, IReadOnlyList<HostName> assignedClientIpv6List, VpnInterfaceId vpnInterfaceId, VpnRouteAssignment assignedRoutes, VpnDomainNameAssignment assignedNamespace, uint mtuSize, uint maxFrameSize, bool reserved, object mainOuterTunnelTransport, object optionalOuterTunnelTransport, VpnTrafficFilterAssignment assignedTrafficFilters);
[Windows.Foundation.Metadata.Overload("StartWithTrafficFilter")]
public void StartWithTrafficFilter(IReadOnlyList<HostName> assignedClientIpv4List, IReadOnlyList<HostName> assignedClientIpv6List, VpnInterfaceId vpnInterfaceId, VpnRouteAssignment assignedRoutes, VpnDomainNameAssignment assignedNamespace, uint mtuSize, uint maxFrameSize, bool reserved, object mainOuterTunnelTransport, object optionalOuterTunnelTransport, VpnTrafficFilterAssignment assignedTrafficFilters);
function startWithTrafficFilter(assignedClientIpv4List, assignedClientIpv6List, vpnInterfaceId, assignedRoutes, assignedNamespace, mtuSize, maxFrameSize, reserved, mainOuterTunnelTransport, optionalOuterTunnelTransport, assignedTrafficFilters)
Public Sub StartWithTrafficFilter (assignedClientIpv4List As IReadOnlyList(Of HostName), assignedClientIpv6List As IReadOnlyList(Of HostName), vpnInterfaceId As VpnInterfaceId, assignedRoutes As VpnRouteAssignment, assignedNamespace As VpnDomainNameAssignment, mtuSize As UInteger, maxFrameSize As UInteger, reserved As Boolean, mainOuterTunnelTransport As Object, optionalOuterTunnelTransport As Object, assignedTrafficFilters As VpnTrafficFilterAssignment)

参数

assignedClientIpv4List

IVectorView<HostName>

IReadOnlyList<HostName>

Windows.Networking.HostName 对象的列表,这些对象指定 VPN 服务器分配给 VPN 客户端的 IPv4 地址(es),应在 VPN L3 接口上设置该地址。 如果为 null,则使用 DHCPv4。

assignedClientIpv6List

IVectorView<HostName>

IReadOnlyList<HostName>

Windows.Networking.HostName 对象列表,这些对象指定 VPN 服务器分配给 VPN 客户端的 IPv6 地址(es),应在 VPN L3 接口上设置该地址。 如果为 null,则使用 DHCPv6 或 RD。

vpnInterfaceId
VpnInterfaceId

VpnInterfaceId 对象。

assignedRoutes
VpnRouteAssignment

Windows.Networking.VpnRouteAssignment 对象,该对象表示应与 VPN 接口关联的/不关联的路由。

assignedNamespace
VpnDomainNameAssignment

Windows.Networking.DomainNameAssignment 对象,该对象表示与 VPN 通道关联的名称前缀列表,包括其 DNS 和代理服务器。

mtuSize
UInt32

unsigned int

uint32_t

指定 VPN L3 网络接口的 MTU 大小的 UINT16 值。 这也是接收池中 IVpnPacketBuffers 的大小。 此值应配置为最多 1400。

maxFrameSize
UInt32

unsigned int

uint32_t

一个 UINT16 值,该值指定 VPN 协议封装定义的帧的最大大小,而不计算 outerTunnelTransport。 这也是发送池中 IVpnPacketBuffers 的大小。 此值应配置为 mtuSize + [封装标头的大小],并且应 <=1500。 如果 mtuSize 或封装标头大小大于 1500,则应减小,因为平台将帧大小限制为 1500。

reserved
Boolean

bool

保留。

mainOuterTunnelTransport
Object

Platform::Object

IInspectable

用于套接字传输的 IInspectable 对象。 此对象可以是 Windows.Networking.Sockets.DatagramSocketWindows.Networking.Sockets.StreamSocket。 此套接字将控制与 VPN 服务器的连接,并用于发送封装的 IP 数据包并接收封装的数据。 套接字必须在调用点未连接。

optionalOuterTunnelTransport
Object

Platform::Object

IInspectable

用于套接字传输的可选 IInspectable 对象。 此对象可以是 Windows.Networking.Sockets.DatagramSocketWindows.Networking.Sockets.StreamSocket。 此套接字将控制与 VPN 服务器的连接,并用于发送封装的 IP 数据包并接收封装的数据。

assignedTrafficFilters
VpnTrafficFilterAssignment

VpnTrafficFilterAssignment 对象,该对象允许将流量筛选器规范化为 VPN 通道。

属性

Windows 要求

应用功能
networkingVpnProvider

适用于