Partager via


VpnChannel.Start Méthode

Définition

Crée le canal VPN à utiliser par le plug-in VPN. Il crée également une interface réseau L3 pour que les applications de l’ordinateur client puissent voir le réseau d’entreprise.

public:
 virtual void Start(IVectorView<HostName ^> ^ assignedClientIPv4list, IVectorView<HostName ^> ^ assignedClientIPv6list, VpnInterfaceId ^ vpnInterfaceId, VpnRouteAssignment ^ routeScope, VpnNamespaceAssignment ^ namespaceScope, unsigned int mtuSize, unsigned int maxFrameSize, bool optimizeForLowCostNetwork, Platform::Object ^ mainOuterTunnelTransport, Platform::Object ^ optionalOuterTunnelTransport) = Start;
/// [Windows.Foundation.Metadata.Overload("Start")]
void Start(IVectorView<HostName> const& assignedClientIPv4list, IVectorView<HostName> const& assignedClientIPv6list, VpnInterfaceId const& vpnInterfaceId, VpnRouteAssignment const& routeScope, VpnNamespaceAssignment const& namespaceScope, uint32_t const& mtuSize, uint32_t const& maxFrameSize, bool const& optimizeForLowCostNetwork, IInspectable const& mainOuterTunnelTransport, IInspectable const& optionalOuterTunnelTransport);
[Windows.Foundation.Metadata.Overload("Start")]
public void Start(IReadOnlyList<HostName> assignedClientIPv4list, IReadOnlyList<HostName> assignedClientIPv6list, VpnInterfaceId vpnInterfaceId, VpnRouteAssignment routeScope, VpnNamespaceAssignment namespaceScope, uint mtuSize, uint maxFrameSize, bool optimizeForLowCostNetwork, object mainOuterTunnelTransport, object optionalOuterTunnelTransport);
function start(assignedClientIPv4list, assignedClientIPv6list, vpnInterfaceId, routeScope, namespaceScope, mtuSize, maxFrameSize, optimizeForLowCostNetwork, mainOuterTunnelTransport, optionalOuterTunnelTransport)
Public Sub Start (assignedClientIPv4list As IReadOnlyList(Of HostName), assignedClientIPv6list As IReadOnlyList(Of HostName), vpnInterfaceId As VpnInterfaceId, routeScope As VpnRouteAssignment, namespaceScope As VpnNamespaceAssignment, mtuSize As UInteger, maxFrameSize As UInteger, optimizeForLowCostNetwork As Boolean, mainOuterTunnelTransport As Object, optionalOuterTunnelTransport As Object)

Paramètres

assignedClientIPv4list

IVectorView<HostName>

IReadOnlyList<HostName>

Pointeur vers un vecteur IVectorView< Windows.Networking.HostName *> spécifiant l’adresse IPv4 affectée par le serveur VPN au client VPN. L’adresse doit être définie sur l’interface VPN L3. Si la valeur est null, DHCPv4 est utilisé.

assignedClientIPv6list

IVectorView<HostName>

IReadOnlyList<HostName>

Pointeur vers une structure Windows.Networking.HostName spécifiant l’adresse IPv6 affectée par le serveur VPN au client VPN et qui doit être définie sur l’interface VPN L3. Si la valeur est null, DHCPv6 ou Rd est utilisé.

vpnInterfaceId
VpnInterfaceId

Pointeur vers un VpnInterfaceId.

routeScope
VpnRouteAssignment

Pointeur vers la classe Windows.Networking.VpnRouteAssignment qui représente les routes qui doivent être associées/non associées à l’interface VPN

namespaceScope
VpnNamespaceAssignment

Pointeur vers la classe Windows.Networking.DomainNameAssignment qui représente la liste des préfixes de nom associés au canal VPN, y compris ses serveurs DNS et proxy.

mtuSize
UInt32

unsigned int

uint32_t

Valeur UINT16 spécifiant la taille MTU de l’interface réseau VPN L3. Il s’agit également de la taille des IVpnPacketBuffers dans le pool receive. Cette valeur doit être configurée pour être au maximum de 1400.

maxFrameSize
UInt32

unsigned int

uint32_t

Valeur UINT16 spécifiant la taille maximale du frame défini par l’encapsulation du protocole VPN sans compter outerTunnelTransport. Il s’agit également de la taille des IVpnPacketBuffers dans le pool d’envoi. Cette valeur doit être configurée comme mtuSize + [taille des en-têtes d’encapsulation], et doit être <=1500. Si elle est supérieure à 1 500, la taille de l’en-tête mtuSize ou de l’encapsulation doit être réduite, car la plateforme limite la taille de trames à 1 500.

optimizeForLowCostNetwork
Boolean

bool

Valeur booléenne spécifiant si l’infrastructure VPN doit surveiller et utiliser des réseaux à faible coût dès qu’ils sont disponibles. Si la valeur est TRUE, l’infrastructure VPN appelle le rappel connect() au plug-in VPN pour le reconnecter chaque fois que l’ancien réseau a été facturé et qu’un nouveau réseau à faible coût devient disponible.

mainOuterTunnelTransport
Object

Platform::Object

IInspectable

Objet IInspectable pour le transport de socket. Cet objet peut être un Windows.Networking.Sockets.DatagramSocket ou un Windows.Networking.Sockets.StreamSocket. Ce socket contrôle la connexion au serveur VPN et sera utilisé pour envoyer des paquets IP encapsulés et recevoir des données encapsulées.

optionalOuterTunnelTransport
Object

Platform::Object

IInspectable

Objet facultatif IInspectable pour le transport de socket. Cet objet peut être un Windows.Networking.Sockets.DatagramSocket ou un Windows.Networking.Sockets.StreamSocket. Ce socket contrôle la connexion au serveur VPN et sera utilisé pour envoyer des paquets IP encapsulés et recevoir des données encapsulées.

Attributs

Configuration requise pour Windows

Fonctionnalités de l’application
networkingVpnProvider

Remarques

Si la fonction réussit, la valeur de retour est S_OK. Sinon, la fonction retourne une valeur d’erreur hresult décrivant l’échec spécifique. Si le plug-in n’est pas connecté, l’erreur est E_ACCESSDENIED.

Notes

Tout appel à cette API en dehors d’un plug-in VPN connecté échoue, car l’activité et les interactions entre le plug-in VPN et le système sont contrôlées par le profil VPN. Il ne peut y avoir qu’un seul profil VPN par processus, car le plug-in VPN n’a qu’un seul profil VPN mappé, et si un appelant devait créer plusieurs objets de profil, ils feraient tous référence aux mêmes paramètres.

En cas de réussite, la propriété de outertTunnelTransport est transférée par l’infrastructure VPN. L’appel de cette méthode plusieurs fois avec les mêmes paramètres n’aura aucun effet. L’appel de cette méthode plusieurs fois avec des variations de valeurs de paramètre permet de s’assurer que le canal est mis à jour avec les valeurs les plus récentes sans interruption des autres propriétés.

Il ne peut y avoir qu’un seul canal VPN par processus et, par conséquent, un plug-in VPN ne peut avoir qu’un seul canal VPN affecté. Le mtuSize doit toujours être plus petit que maxFrameSize.

S’applique à