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 de la mémoire tampon. Un canal VPN est l’objet dans le système qui lie le flux de données de trafic réseau entre le socket du 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 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 de VpnChannel et qui détermine comment établir la communication avec le serveur VPN.

CurrentRequestTransportContext

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

Id

Obtient l’ID de 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 en vue d’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. Cela 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 se trouve au premier plan, le délai d’expiration de connexion normal est suspendu.

L’appel ActivateForeground est annulé en cas de 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 d’interface utilisateur .

Destiné à prendre en charge les schémas d’authentification basés sur le web tels que 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 l’infrastructure VPN en tant que lien de transport communiquant le plug-in VPN au serveur VPN. Cet appel doit être effectué avant toute autre opération liée aux API d’infrastructure VPN.

AppendVpnReceivePacketBuffer(VpnPacketBuffer)

Ajoute un objet VpnPacketBuffer de réception au canal.

AppendVpnSendPacketBuffer(VpnPacketBuffer)

Ajoute un objet Send VpnPacketBuffer au canal.

AssociateTransport(Object, Object)

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

FlushVpnReceivePacketBuffers()

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

FlushVpnSendPacketBuffers()

Vide toutes les mémoires tampons de paquets d’envoi ajoutées. Consultez 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 qu’un objet VpnPacketBuffer du pool de mémoires tampons de paquets de réception soit utilisé dans la décacapsulation ou l’injection d’un paquet reçu du serveur VPN dans la pile du réseau local

GetVpnSendPacketBuffer()

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

LogDiagnosticMessage(String)

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

ProcessEventAsync(Object, Object)

Traite tous les événements VpnChannel en attente.

ReplaceAndAssociateTransport(Object, Object)

Remplace un transport existant par un nouveau qui sera utilisé par l’infrastructure VPN en tant que lien de transport communiquant 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 main 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 main en fonction du type et les 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 nécessaire 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 d’utiliser des é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 un IVpnPacketBuffer à partir du pool spécifié. Il existe un pool IVpnPacketBuffer pour le chemin d’envoi et un autre pool IVpnPacketBuffer 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 que les applications de l’ordinateur client puissent 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 que les applications de l’ordinateur client puissent 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 lors d’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 que les applications de l’ordinateur client puissent 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 que les applications de l’ordinateur client puissent 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 que les applications de l’ordinateur client puissent 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 de mettre fin à la tentative de connexion effectuée à l’intérieur de la méthode IVpnPlugin.Connect . Ne doit pas être appelé dans 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 à