Share via


VpnChannel.StartWithTrafficFilter Method

Definition

Overloads

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

Creates the VPN channel for an arbitrary numbers of transports to be used by the VPN plug-in. It also creates an L3 network interface for applications in the client machine to be able to see the corporate network. It allows the specification of traffic filters to use in per-app VPN scenarios.

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

Creates the VPN channel to be used by the VPN plug-in. It also creates an L3 network interface for applications in the client machine to be able to see the corporate network. It allows the specification of traffic filters to use in per-app VPN scenarios.

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

Creates the VPN channel for an arbitrary numbers of transports to be used by the VPN plug-in. It also creates an L3 network interface for applications in the client machine to be able to see the corporate network. It allows the specification of traffic filters to use in per-app VPN scenarios.

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)

Parameters

assignedClientIpv4Addresses

IIterable<HostName>

IEnumerable<HostName>

A list of Windows.Networking.HostName objects specifying the IPv4 address(es) assigned by the VPN server to the VPN client. The address(es) should be set on the VPN L3 interface. If null, DHCPv4 is used.

assignedClientIpv6Addresses

IIterable<HostName>

IEnumerable<HostName>

A list of Windows.Networking.HostName objects specifying the IPv6 address(es) assigned by the VPN server to the VPN client, and which should be set on the VPN L3 interface. If null, DHCPv6 or RD is used.

vpninterfaceId
VpnInterfaceId

A VpnInterfaceId object.

assignedRoutes
VpnRouteAssignment

A Windows.Networking.VpnRouteAssignment object that represents the routes that should be associated / not associated with the VPN interface.

assignedNamespace
VpnDomainNameAssignment

A Windows.Networking.DomainNameAssignment object that represents the list of name prefixes that are associated with the VPN channel, including its DNS and proxy servers.

mtuSize
UInt32

unsigned int

uint32_t

A UINT16 value specifying the MTU size of the VPN L3 network interface. This is also the size of the IVpnPacketBuffers in the Receive pool. This value should be configured to be at most 1400.

maxFrameSize
UInt32

unsigned int

uint32_t

A UINT16 value specifying the max size of the frame defined by the VPN protocol encapsulation without counting the outerTunnelTransport. This is also the size of the IVpnPacketBuffers in the Send pool. This value should be configured as mtuSize + [size of encapsulation headers], and should be <=1500. If it would be greater than 1500 either mtuSize or encapsulation header size should be reduced as the platform limits the framesize to 1500.

reserved
Boolean

bool

Reserved.

transports

IIterable<Object>

IEnumerable<Object>

IIterable<Platform::Object>

IIterable<IInspectable>

A list of IInspectable objects for socket transport. Each object can be a Windows.Networking.Sockets.DatagramSocket or a Windows.Networking.Sockets.StreamSocket. They will control the connection to the VPN server and will be used to send encapsulated IP packets and receive encapsulated data. The sockets must be unconnected at the point of the call.

assignedTrafficFilters
VpnTrafficFilterAssignment

A VpnTrafficFilterAssignment object, which allows the specification of traffic filters to a VPN channel.

Attributes

Windows requirements

Device family
Windows 10, version 1803 (introduced in 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v6.0)
App capabilities
networkingVpnProvider

Applies to

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

Creates the VPN channel to be used by the VPN plug-in. It also creates an L3 network interface for applications in the client machine to be able to see the corporate network. It allows the specification of traffic filters to use in per-app VPN scenarios.

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)

Parameters

assignedClientIpv4List

IVectorView<HostName>

IReadOnlyList<HostName>

A list of Windows.Networking.HostName objects specifying the IPv4 address(es) assigned by the VPN server to the VPN client, and which should be set on the VPN L3 interface. If null, DHCPv4 is used.

assignedClientIpv6List

IVectorView<HostName>

IReadOnlyList<HostName>

A list of Windows.Networking.HostName objects specifying the IPv6 address(es) assigned by the VPN server to the VPN client, and which should be set on the VPN L3 interface. If null, DHCPv6 or RD is used.

vpnInterfaceId
VpnInterfaceId

A VpnInterfaceId object.

assignedRoutes
VpnRouteAssignment

A Windows.Networking.VpnRouteAssignment object that represents the routes that should be associated / not associated with the VPN interface.

assignedNamespace
VpnDomainNameAssignment

A Windows.Networking.DomainNameAssignment object that represents the list of name prefixes that are associated with the VPN channel, including its DNS and proxy servers.

mtuSize
UInt32

unsigned int

uint32_t

A UINT16 value specifying the MTU size of the VPN L3 network interface. This is also the size of the IVpnPacketBuffers in the Receive pool. This value should be configured to be at most 1400.

maxFrameSize
UInt32

unsigned int

uint32_t

A UINT16 value specifying the max size of the frame defined by the VPN protocol encapsulation without counting the outerTunnelTransport. This is also the size of the IVpnPacketBuffers in the Send pool. This value should be configured as mtuSize + [size of encapsulation headers], and should be <=1500. If it would be greater than 1500 either mtuSize or encapsulation header size should be reduced as the platform limits the framesize to 1500.

reserved
Boolean

bool

Reserved.

mainOuterTunnelTransport
Object

Platform::Object

IInspectable

An IInspectable object for socket transport. This object can be a Windows.Networking.Sockets.DatagramSocket or a Windows.Networking.Sockets.StreamSocket. This socket will control the connection to the VPN server and will be used to send encapsulated IP packets and receive encapsulated data. The socket must be unconnected at the point of the call.

optionalOuterTunnelTransport
Object

Platform::Object

IInspectable

An optional IInspectable object for socket transport. This object can be a Windows.Networking.Sockets.DatagramSocket or a Windows.Networking.Sockets.StreamSocket. This socket will control the connection to the VPN server and will be used to send encapsulated IP packets and receive encapsulated data.

assignedTrafficFilters
VpnTrafficFilterAssignment

A VpnTrafficFilterAssignment object, which allows the specification of traffic filters to a VPN channel.

Attributes

Windows requirements

App capabilities
networkingVpnProvider

Applies to