VpnChannel Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Methoden zum Erstellen und Zerstören eines VPN-Kanals und Methoden zum Ausführen der Pufferverwaltung bereit. Ein VPN-Kanal ist das Objekt im System, das den Datenverkehrsdatenfluss zwischen dem VPN-Serversocket des VPN-Plug-Ins und dem Netzwerkstapel des Clientcomputers verknüpft.
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
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
App-Funktionen |
networkingVpnProvider
|
Hinweise
Versionsverlauf
Windows-Version | SDK-Version | Mehrwert |
---|---|---|
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) |
Eigenschaften
Configuration |
Dient zum Abrufen oder Festlegen eines VpnChannelConfiguration -Objekts, das der Konfiguration der VpnChannel- entspricht und die bestimmt, wie die Kommunikation mit dem VPN-Server hergestellt wird. |
CurrentRequestTransportContext |
Ruft das verwendete Transportkontextobjekt ab, z. B. den Namen eines Hosts oder Servers. |
Id |
Ruft die eindeutige Instanz-ID eines VPN-Kanals ab. Dies kann verwendet werden, um die Deux von Vorgängen zwischen zwei VPN-Verbindungsinstanzen zu vereinfachen. |
PlugInContext |
Dient zum Abrufen oder Festlegen eines Kontextobjekts, das VPN-Plug-Ins verwenden können, um ihren internen Zustand einem VpnChannel- -Objekt für die spätere Verwendung zuzuordnen, während die Sitzung ausgeführt wird. |
SystemHealth |
Ruft die Anweisung der Integrität des Clientcomputers ab. |
Methoden
ActivateForeground(String, ValueSet) |
Aktiviert die VPN-App im Vordergrund. Dies wird häufig verwendet, um dem Benutzer die Eingabe von Anmeldeinformationen zu ermöglichen. Sie können ActivateForeground- nur von Ihrer Implementierung von IVpnPlugin.Connectaufrufen. Während sich die App im Vordergrund befindet, wird das reguläre Connect Timeout angehalten. Der ActivateForeground Anruf wird abgebrochen, wenn eine lange Pause (ca. 10 Minuten) besteht. Wenn das Plug-In nicht gestartet werden kann, sollte das Plug-In idealerweise eine Authentifizierungsmethode unterstützen, die keine Benutzeroberfläche (UI) benötigt. Soll webbasierte Authentifizierungsschemas wie Security Assertion Markup Language (SAML) und Azure Active Directory (AAD)-Authentifizierung unterstützen. |
AddAndAssociateTransport(Object, Object) |
Vorbereitet, markiert und erstellt den Transport für die Verwendung durch das VPN-Framework als Transportverbindung, die das VPN-Plug-In an den VPN-Server kommuniziert. Dieser Aufruf muss vor allen anderen Vorgängen im Zusammenhang mit den VPN-Framework-APIs ausgeführt werden. |
AppendVpnReceivePacketBuffer(VpnPacketBuffer) |
Fügt einen Empfangs-VpnPacketBuffer- -Objekt an den Kanal an. |
AppendVpnSendPacketBuffer(VpnPacketBuffer) |
Fügt ein Send-VpnPacketBuffer- -Objekt an den Kanal an. |
AssociateTransport(Object, Object) |
Bereitet den Transport für die Verwendung durch das VPN-Framework als Transportverbindung vor und kennzeichnet ihn als Transportverbindung, die das VPN-Plug-In an den VPN-Server kommuniziert. Dieser Aufruf muss vor allen anderen Vorgängen im Zusammenhang mit den VPN-Framework-APIs ausgeführt werden. |
FlushVpnReceivePacketBuffers() |
Löscht alle angefügten Empfangspaketpuffer. Siehe AppendVpnReceivePacketBuffer. |
FlushVpnSendPacketBuffers() |
Löscht alle angefügten Sendepaketpuffer. Siehe AppendVpnSendPacketBuffer. |
GetSlotTypeForTransportContext(Object) |
Ruft den Steckplatztyp (Hardware oder Software) für das angegebene Transportkontextobjekt ab. |
GetVpnReceivePacketBuffer() |
Fordert ein VpnPacketBuffer--Objekt vom Empfangspaketpufferpool an, das in der Entkapselung oder Einfügung eines empfangenen Pakets vom VPN-Server in den lokalen Netzwerkstapel verwendet werden soll. |
GetVpnSendPacketBuffer() |
Ruft ein VpnPacketBuffer Objekt aus dem Sendepaketpufferpool ab, um in der Kapselung und Übertragung eines Datenpakets vom Clientnetzwerkstapel an den VPN-Server zu verwenden. |
LogDiagnosticMessage(String) |
Schreibt eine Diagnosenachricht in das Systemprotokoll. |
ProcessEventAsync(Object, Object) |
Verarbeitet alle ausstehenden VpnChannel-Ereignisse. |
ReplaceAndAssociateTransport(Object, Object) |
Ersetzt einen vorhandenen Transport durch einen neuen Transport für die Verwendung durch das VPN-Framework als Transportverbindung, die das VPN-Plug-In an den VPN-Server kommuniziert. |
RequestCredentials(VpnCredentialType, Boolean, Boolean, Certificate) |
Fordern Sie die VPN-Plattform an, um Anmeldeinformationen vom Benutzer zu sammeln. Das Plug-In kann den Typ und die Form der zu sammelnden Anmeldeinformationen angeben. Das Ergebnis ist ein Objekt, das die Hauptanmeldeinformationen enthält, abhängig vom Typ und den sekundären Anmeldeinformationen für Änderungs- und Ablauffälle. |
RequestCredentialsAsync(VpnCredentialType) |
Fordert die VPN-Plattform an, Anmeldeinformationen eines bestimmten Anmeldeinformationstyps vom Benutzer zu sammeln. |
RequestCredentialsAsync(VpnCredentialType, UInt32) |
Fordert die VPN-Plattform an, Anmeldeinformationen vom Benutzer zu sammeln. Das Plug-In kann den Typ und die Form der zu sammelnden Anmeldeinformationen angeben. Das Ergebnis ist ein Objekt, das je nach Typ die Hauptanmeldeinformationen und die sekundären Anmeldeinformationen für Änderungs- und Ablauffälle enthält. |
RequestCredentialsAsync(VpnCredentialType, UInt32, Certificate) |
VPN-Plattform zum Sammeln von Anmeldeinformationen vom Benutzer. Wenn eine Benutzerinteraktion erforderlich ist, um anmeldeinformationen oder zustimmung zu erhalten, stellt die Plattform die erforderliche Benutzerinteraktion bereit. Ein VPN-Plug-In muss Anmeldeinformationen anfordern, bevor eine Art von Anmeldeinformationen verwendet wird, auch wenn die Absicht nicht besteht, die Benutzerinteraktion dafür aufzurufen. |
RequestCustomPrompt(IVectorView<IVpnCustomPrompt>) |
Nicht unterstützt. |
RequestCustomPromptAsync(IVectorView<IVpnCustomPromptElement>) |
Fordert Informationen vom Benutzer an, indem eine Eingabeaufforderung angezeigt wird. Ermöglicht die Verwendung von Eingabeaufforderungselementen, die gemischt werden können, um dem Benutzer eine vollständige Eingabeaufforderung zu erstellen. Die vom Benutzer bereitgestellte Eingabe wird an den Aufrufer in den angegebenen Objekten zurückgegeben. |
RequestVpnPacketBuffer(VpnDataPathType, VpnPacketBuffer) |
Fordert eine IVpnPacketBuffer aus dem angegebenen Pool an. Es gibt einen IVpnPacketBuffer Pool für den Sendepfad und ein weiteres IVpnPacketBuffer Pool für den Empfangspfad. |
SetAllowedSslTlsVersions(Object, Boolean) |
Nicht unterstützt. |
SetErrorMessage(String) |
Nicht unterstützt. |
Start(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnNamespaceAssignment, UInt32, UInt32, Boolean, Object, Object) |
Erstellt den VPN-Kanal, der vom VPN-Plug-In verwendet werden soll. Außerdem wird eine L3-Netzwerkschnittstelle für Anwendungen auf dem Clientcomputer erstellt, um das Unternehmensnetzwerk anzeigen zu können. |
StartExistingTransports(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean) |
Erstellt den VPN-Kanal, der vom VPN-Plug-In verwendet werden soll. Außerdem wird eine L3-Netzwerkschnittstelle für Anwendungen auf dem Clientcomputer erstellt, um das Unternehmensnetzwerk anzeigen zu können. |
StartReconnectingTransport(Object, Object) |
Verbinden Sie den Sockettransport erneut. Transport- und Transportkontext sind die einzigen Parameter, die bei einer Reconnection des Sockettransports geändert werden können. Wichtig Diese API ist nicht implementiert, und es wird empfohlen, sie nicht aufzurufen. |
StartWithMainTransport(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object) |
Erstellt den VPN-Kanal, der vom VPN-Plug-In verwendet werden soll. Außerdem wird eine L3-Netzwerkschnittstelle für Anwendungen auf dem Clientcomputer erstellt, um das Unternehmensnetzwerk anzeigen zu können. |
StartWithTrafficFilter(IIterable<HostName>, IIterable<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, IIterable<Object>, VpnTrafficFilterAssignment) |
Erstellt den VPN-Kanal für eine beliebige Anzahl von Transporten, die vom VPN-Plug-In verwendet werden sollen. Außerdem wird eine L3-Netzwerkschnittstelle für Anwendungen auf dem Clientcomputer erstellt, um das Unternehmensnetzwerk anzeigen zu können. Sie ermöglicht die Spezifikation von Datenverkehrsfiltern, die in VPN-Szenarien pro App verwendet werden. |
StartWithTrafficFilter(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object, Object, VpnTrafficFilterAssignment) |
Erstellt den VPN-Kanal, der vom VPN-Plug-In verwendet werden soll. Außerdem wird eine L3-Netzwerkschnittstelle für Anwendungen auf dem Clientcomputer erstellt, um das Unternehmensnetzwerk anzeigen zu können. Sie ermöglicht die Spezifikation von Datenverkehrsfiltern, die in VPN-Szenarien pro App verwendet werden. |
Stop() |
Zerstört ein zuvor erstelltes VPN-Kanalobjekt. Entfernt und schließt die outerTunnelTransport- Verbindung mit dem VPN-Server. |
TerminateConnection(String) |
Ermöglicht es einem VPN-Plug-In, eine Fehlermeldung anzugeben und den Verbindungsversuch innerhalb der IVpnPlugin.Connect-Methode auszuführen. Sollte nicht bei erneuten Verbindungsfällen aufgerufen werden. |
Ereignisse
ActivityChange |
Nicht unterstützt. |
ActivityStateChange |
Ereignis ausgelöst, wenn sich der Aktivitätsstatus des Kanals geändert hat. Wird von VPN-Plug-Ins verwendet, um zu bestimmen, ob der Kanal mit Datenverkehr oder Leerlauf aktiv ist. |