Partager via


VpnChannel Classe

Définition

Fournit des méthodes pour créer et détruire un canal VPN et des méthodes pour effectuer la gestion des mémoires tampons. Un canal VPN est l’objet du système qui lie le flux de données de trafic réseau entre le socket de serveur VPN du plug-in VPN et la pile réseau de l’ordinateur client.

public ref class VpnChannel sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
class VpnChannel final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
public sealed class VpnChannel
Public NotInheritable Class VpnChannel
Héritage
Object Platform::Object IInspectable VpnChannel
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
Fonctionnalités de l’application
networkingVpnProvider

Remarques

Historique des versions

Version de Windows Version du Kit de développement logiciel (SDK Valeur ajoutée
1803 17134 AddAndAssociateTransport
1803 17134 CurrentRequestTransportContext
1803 17134 GetSlotTypeForTransportContext
1803 17134 ReplaceAndAssociateTransport
1803 17134 StartReconnectingTransport
1803 17134 StartWithTrafficFilter(IEnumerable<HostName>,IEnumerable<HostName>,VpnInterfaceId,VpnRouteAssignment,VpnDomainNameAssignment,UInt32,UInt32,Boolean,IEnumerableIEnumerable<Object>,VpnTrafficFilterAssignment)

Propriétés

Configuration

Obtient ou définit un objet VpnChannelConfiguration correspondant à la configuration du VpnChannel et qui détermine comment établir la communication avec le serveur VPN.

CurrentRequestTransportContext

Obtient l’objet de contexte de transport en cours d’utilisation, par exemple le nom d’un hôte ou d’un serveur.

Id

Obtient l’ID d’instance unique d’un canal VPN. Cela peut être utilisé pour simplifier les opérations de démuxing entre deux instances de connexion VPN.

PlugInContext

Obtient ou définit un objet de contexte que les plug-ins VPN peuvent utiliser pour associer leur état interne à un objet VpnChannel pour une utilisation ultérieure pendant que la session est en cours.

SystemHealth

Obtient l’instruction d’intégrité de l’ordinateur client.

Méthodes

ActivateForeground(String, ValueSet)

Active l’application VPN au premier plan. Il est souvent utilisé pour permettre à l’utilisateur d’entrer des informations d’identification. Vous pouvez appeler ActivateForeground uniquement à partir de votre implémentation de IVpnPlugin.Connect. Pendant que l’application est au premier plan, le délai d’attente normal Connect est suspendu.

L’appel ActivateForeground sera annulé s’il y a une longue pause (environ 10 minutes). Si vous ne parvenez pas à lancer, le plug-in doit idéalement prendre en charge une méthode d’authentification qui n’a pas besoin de l’interface utilisateur (UI).

Destiné à prendre en charge les schémas d’authentification web tels que l’authentification SAML (Security Assertion Markup Language) et l’authentification Azure Active Directory (AAD).

AddAndAssociateTransport(Object, Object)

Prépare, marque et crée le transport à utiliser par le framework VPN en tant que lien de transport qui communique le plug-in VPN au serveur VPN. Cet appel doit être effectué avant toute autre opération liée aux API du framework VPN.

AppendVpnReceivePacketBuffer(VpnPacketBuffer)

Ajoute un objet de réception VpnPacketBuffer au canal.

AppendVpnSendPacketBuffer(VpnPacketBuffer)

Ajoute un objet d’envoi VpnPacketBuffer au canal.

AssociateTransport(Object, Object)

Prépare et marque le transport à utiliser par l’infrastructure VPN en tant que lien de transport qui communique le plug-in VPN au serveur VPN. Cet appel doit être effectué avant toute autre opération liée aux API du framework VPN.

FlushVpnReceivePacketBuffers()

Vide les mémoires tampons de paquets de réception ajoutées. Voir AppendVpnReceivePacketBuffer.

FlushVpnSendPacketBuffers()

Vide les mémoires tampons d’envoi ajoutées. Voir AppendVpnSendPacketBuffer.

GetSlotTypeForTransportContext(Object)

Récupère le type d’emplacement (matériel ou logiciel) pour l’objet de contexte de transport spécifié.

GetVpnReceivePacketBuffer()

Demande à un objet VpnPacketBuffer du pool de mémoires tampons de réception à utiliser dans la décapsulation ou l’injection d’un paquet reçu du serveur VPN dans la pile de réseau local

GetVpnSendPacketBuffer()

Récupère un objet VpnPacketBuffer à partir du pool de mémoires tampons d’envoi à utiliser dans l’encapsulation et la transmission d’un paquet de données de la pile réseau cliente au serveur VPN.

LogDiagnosticMessage(String)

Écrit un message de diagnostic dans le journal système.

ProcessEventAsync(Object, Object)

Traite les événements VpnChannel en attente.

ReplaceAndAssociateTransport(Object, Object)

Remplace un transport existant par un nouveau transport utilisé par l’infrastructure VPN en tant que lien de transport qui communique le plug-in VPN au serveur VPN.

RequestCredentials(VpnCredentialType, Boolean, Boolean, Certificate)

Demandez à la plateforme VPN de collecter les informations d’identification de l’utilisateur. Le plug-in peut spécifier le type et la forme des informations d’identification à collecter. Le résultat est un objet contenant les informations d’identification principales en fonction du type et des informations d’identification secondaires pour les cas de modification et d’expiration.

RequestCredentialsAsync(VpnCredentialType)

Demande à la plateforme VPN de collecter les informations d’identification d’un type d’informations d’identification donné auprès de l’utilisateur.

RequestCredentialsAsync(VpnCredentialType, UInt32)

Demande à la plateforme VPN de collecter les informations d’identification de l’utilisateur. Le plug-in peut spécifier le type et la forme des informations d’identification à collecter. Le résultat est un objet contenant les informations d’identification principales en fonction du type et des informations d’identification secondaires pour les cas de modification et d’expiration.

RequestCredentialsAsync(VpnCredentialType, UInt32, Certificate)

Plateforme VPN pour collecter les informations d’identification de l’utilisateur. Si l’interaction utilisateur est requise pour obtenir des informations d’identification ou un consentement, la plateforme fournit l’interaction utilisateur nécessaire. Un plug-in VPN doit demander des informations d’identification avant d’utiliser n’importe quel type d’informations d’identification, même si l’intention n’est pas d’appeler l’interaction utilisateur pour celle-ci.

RequestCustomPrompt(IVectorView<IVpnCustomPrompt>)

Non pris en charge.

RequestCustomPromptAsync(IVectorView<IVpnCustomPromptElement>)

Demande des informations à l’utilisateur en présentant une invite. Permet l’utilisation d’éléments d’invite qui peuvent être mélangés pour construire une invite complète à l’utilisateur. L’entrée fournie par l’utilisateur est retournée à l’appelant dans les objets spécifiés.

RequestVpnPacketBuffer(VpnDataPathType, VpnPacketBuffer)

Demande une IVpnPacketBuffer à partir du pool spécifié. Il existe un pool IVpnPacketBuffer pour le chemin d’envoi et un autre IVpnPacketBuffer pool pour le chemin de réception.

SetAllowedSslTlsVersions(Object, Boolean)

Non pris en charge.

SetErrorMessage(String)

Non pris en charge.

Start(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnNamespaceAssignment, UInt32, UInt32, Boolean, Object, Object)

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.

StartExistingTransports(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean)

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.

StartReconnectingTransport(Object, Object)

Reconnectez le transport de socket. Le contexte de transport et de transport sont les seuls paramètres qui peuvent être modifiés sur une reconnexion de transport de socket.

Important

Cette API n’est pas implémentée et nous vous recommandons de ne pas l’appeler.

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

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.

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

Crée le canal VPN pour un nombre arbitraire de transports à 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. Il permet la spécification des filtres de trafic à utiliser dans les scénarios VPN par application.

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

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. Il permet la spécification des filtres de trafic à utiliser dans les scénarios VPN par application.

Stop()

Détruit un objet de canal VPN précédemment établi. Dissocie et ferme la connexion outerTunnelTransport au serveur VPN.

TerminateConnection(String)

Permet à un plug-in VPN d’indiquer un message d’erreur et d’arrêter la tentative de connexion effectuée à l’intérieur de la méthode IVpnPlugin.Connect. Ne doit pas être appelé sur les cas de reconnexion.

Événements

ActivityChange

Non pris en charge.

ActivityStateChange

Événement déclenché lorsque l’état d’activité du canal a changé. Utilisé par les plug-ins VPN pour déterminer si le canal est actif avec le trafic ou inactif.

S’applique à