Windows.Networking.Vpn Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The classes in this namespace enable you to create, edit, and manage virtual private network (VPN) connections, and to write plugins for controlling a VPN connection using the Windows VPN platform.
Important
To use the classes in this namespace, you must declare the networkingVpnProvider restricted capability.
Classes
VpnAppId |
Represents an application identifier, which can be a file path, a package family name, or a fully qualified binary name (FQBN) string. |
VpnChannel |
Provides methods to create and destroy a VPN channel, and methods to perform buffer management. A VPN channel is the object in the system that links the network traffic data flow between the VPN plug-in's VPN server socket and the client machine network stack. |
VpnChannelActivityEventArgs |
VpnChannelActivityEventArgs is not supported and may be altered or unavailable in the future. Instead, use VpnChannelActivityStateChangedArgs. |
VpnChannelActivityStateChangedArgs |
Represents the ActivityStateChanged event specifying the new VPN channel state (idle or active). |
VpnChannelConfiguration |
The configuration of the VpnChannel, which dictates how to establish the communication with the VPN server. |
VpnCredential |
Represents the credentials requested and provided by the platform. This class holds username, password, PIN, OTP, and any additional PIN or certificate to which access has been granted. |
VpnCustomCheckBox |
VpnCustomCheckBox is not supported and may be altered or unavailable in the future. Instead, use VpnCustomPromptBooleanInput. |
VpnCustomComboBox |
VpnCustomComboBox is not supported and may be altered or unavailable in the future. Instead, use VpnCustomPromptOptionSelector. |
VpnCustomEditBox |
VpnCustomEditBox is not supported and may be altered or unavailable in the future. Instead, use VpnCustomPromptTextInput. |
VpnCustomErrorBox |
VpnCustomErrorBox is not supported and may be altered or unavailable in the future. Instead, use VpnCustomPromptText. |
VpnCustomPromptBooleanInput |
Represents a Boolean type of UI control prompt required from the user. This is typically a checkbox. This is used in the construction of custom prompts used in the VpnChannel.RequestCustomPromptAsync method. |
VpnCustomPromptOptionSelector |
Represents a multiple choice UI control prompt required from the user. This is typically a combo box. This is used in the construction of custom prompts used in the VpnChannel.RequestCustomPromptAsync method. |
VpnCustomPromptText |
Represents a text UI element used in the VpnChannel.RequestCustomPromptAsync method. |
VpnCustomPromptTextInput |
Represents a text input UI element used in the RequestCustomPromptAsync method. |
VpnCustomTextBox |
VpnCustomTextBox is not supported and may be altered or unavailable in the future. Instead, use VpnCustomPromptText. |
VpnDomainNameAssignment |
Contains VPN domain name policies, like name resolution, namespace configuration, and web proxies. |
VpnDomainNameInfo |
Specifies the name policy for a specific namespace. It can specify the DNS servers to use for name resolution of the namespace, the web proxies to use when connecting to the namespace, or whether it should be exempted from the policy itself. |
VpnForegroundActivatedEventArgs |
Arguments passed with the Activated event (see Application.OnActivated) when your VPN app is activated in the foreground. |
VpnForegroundActivationOperation |
Represents a VPN foreground operation. When you're done handling a foreground operation, you must call the Complete method. |
VpnInterfaceId |
Represents an interface ID used in the construction and assignment of an IPv6 address to the VPN interface. The ID contained in this class fills the interface ID portion of the IPv6 address. |
VpnManagementAgent |
Allows the creation, deletion, edit, connect, and disconnect flows for VPN. These can be used to manage the lifecycle of a VPN profile, and to create a custom VPN connection manager. |
VpnNamespaceAssignment |
VpnNamespaceAssignment is not supported and may be altered or unavailable in the future. Instead, use VpnDomainNameAssignment. |
VpnNamespaceInfo |
VpnNamespaceInfo is not supported and may be altered or unavailable in the future. Instead, use VpnDomainNameInfo. |
VpnNativeProfile |
Represents a profile for an OS Native/Inbox VPN protocol. |
VpnPacketBuffer |
Used by the platform to manage a memory buffer. VpnPacketBuffer allows buffers to be chained together in a IVpnPacketBufferList object list to be sent or received in a specific order. |
VpnPacketBufferList |
Used to manage VpnPacketBuffer objects. |
VpnPickedCredential |
VpnPickedCredential is not supported and may be altered or unavailable in the future. Instead, use VpnCredential. |
VpnPlugInProfile |
Represents a VPN plug-in profile. |
VpnRoute |
Represents a route relative to the VPN channel. It is composed of an address and a prefix size to identify the subnet being routed. The route can then be either included or excluded from the VPN channel scope. |
VpnRouteAssignment |
Represents the list of routes assigned to the VPN channel for the correct flow and redirection of traffic. |
VpnSystemHealth |
Allows access to the security health of the system device. |
VpnTrafficFilter |
Defines the traffic filtering properties (including per app VPN). A description of the type of network traffic that will be allowed over the VPN connection, such as a specific application and protocol allowed for the connection. |
VpnTrafficFilterAssignment |
Allows the specification of a set of traffic filters as policy to a VPN channel. |
Interfaces
IVpnChannelStatics |
Provides static functions for VPN plug-ins. |
IVpnCredential |
Provides an interface for the VPN platform to support requested credentials. |
IVpnCustomPrompt |
Not supported. |
IVpnCustomPromptElement |
Provides a common interface for all UI element objects used in the VpnChannel.RequestCustomPromptAsync method. |
IVpnDomainNameInfoFactory |
Factory to create VpnDomainNameInfo objects. |
IVpnInterfaceIdFactory |
Factory to create VpnInterfaceId objects. |
IVpnNamespaceInfoFactory |
IVpnNamespaceInfoFactory is not supported and may be altered or unavailable in the future. Instead, use IVpnDomainNameInfoFactory. |
IVpnPacketBufferFactory |
This interface is reserved for system use. |
IVpnPlugIn |
Provides an interface to implement specific third party VPN client operations. |
IVpnPlugInReconnectTransport | |
IVpnProfile |
Exposes the VpnProfile base object. |
IVpnRouteFactory |
Factory to create VpnRoute objects. |
Enums
VpnAppIdType |
Specifies the type of AppId understood by the VPN platform. |
VpnAuthenticationMethod |
Specifies the type of authentication methods allowed by the operating system native VPN protocols. |
VpnChannelActivityEventType |
Specifies the type of activity events. |
VpnChannelRequestCredentialsOptions |
Specifies the values defining whether a requested credential is a retry case, or should be used for single sign on. |
VpnCredentialType |
Specifies the types of credentials that can be requested by the VPN platform. |
VpnDataPathType |
VpnDataPathType is not supported and may be altered or unavailable in the future. |
VpnDomainNameType |
Describes whether a name is a domain name suffix or a fully qualified domain name. |
VpnIPProtocol |
Defines constants that specify IP protocols (numeric values). |
VpnManagementConnectionStatus |
Values used to report the current status of a VPN profile. |
VpnManagementErrorStatus |
Describes the known VPN management errors. |
VpnNativeProtocolType |
Specifies the native protocol types. |
VpnPacketBufferStatus |
Defines constants that specify the possible states of the VPN packet buffer. |
VpnRoutingPolicyType |
Specifies the routing policy type. |
Remarks
If you're an enterprise VPN developer, then you should consider your organizational licensing options. Many information technology (IT) admins prefer disconnected (offline) licensing in order to distribute a VPN app to users even when the user doesn't have access to the Microsoft Store. See Organizational licensing options for more details.
We recommend that you consider using the AppCenter SDK for collecting crash dumps for later analysis.