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 les applications de l’ordinateur client afin de pouvoir 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 IVectorView< Windows.Networking.HostName *> vecteur 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 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 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 itinéraires qui doivent être associés/ non associés à 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 de réception. Cette valeur doit être configurée pour être au maximum 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 le outerTunnelTransport. Il s’agit également de la taille des IVpnPacketBuffers dans le pool d’envoi. Cette valeur doit être configurée en tant que mtuSize + [taille des en-têtes d’encapsulation], et doit être <=1500. S’il serait supérieur à 1500 mtuSize ou encapsulation, la taille d’en-tête doit être réduite, car la plateforme limite la taille des images à 1500.

optimizeForLowCostNetwork
Boolean

bool

Un booléen spécifiant si le framework VPN doit surveiller et utiliser des réseaux à faible coût, car ils sont disponibles. Si 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 IInspectable facultatif 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 hresult d’erreur décrivant l’échec spécifique. Si le plug-in n’est pas connecté, l’erreur est E_ACCESSDENIED.

Note

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é à celui-ci et si un appelant devait créer plusieurs objets de profil, ils font tous référence aux mêmes paramètres.

En cas de réussite de 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 variantes de valeurs de paramètre permet de s’assurer que le canal est mis à jour avec les dernières valeurs sans interruption d’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 qui lui est attribué. Le mtuSize doit toujours être plus petit que le maxFrameSize.

S’applique à