VpnChannel Classe

Definizione

Fornisce metodi per creare ed eliminare un canale VPN e metodi per eseguire la gestione del buffer. Un canale VPN è l'oggetto nel sistema che collega il flusso di dati del traffico di rete tra il socket del server VPN VPN e lo stack di rete del computer 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
Ereditarietà
Object Platform::Object IInspectable VpnChannel
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
Funzionalità dell'app
networkingVpnProvider

Commenti

Cronologia delle versioni

Versione di Windows Versione dell'SDK Valore aggiunto
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,IEnumerableIEnumerableIEnumerable<>> Object,VpnTrafficFilterAssignment)>

Proprietà

Configuration

Ottiene o imposta un oggetto VpnChannelConfiguration corrispondente alla configurazione di VpnChannel e che determina come stabilire la comunicazione con il server VPN.

CurrentRequestTransportContext

Ottiene l'oggetto contesto di trasporto in uso, ad esempio il nome di un host o di un server.

Id

Ottiene l'ID dell'istanza univoca di un canale VPN. Questa operazione può essere usata per semplificare le operazioni di demuxing tra due istanze di connessione VPN.

PlugInContext

Ottiene o imposta un oggetto contesto che i plug-in VPN possono usare per associare lo stato interno a un oggetto VpnChannel per un uso successivo mentre la sessione è in corso.

SystemHealth

Ottiene l'istruzione di integrità del computer client.

Metodi

ActivateForeground(String, ValueSet)

Attiva l'app VPN in primo piano. Questa operazione viene spesso usata per consentire all'utente di immettere le credenziali. È possibile chiamare ActivateForeground solo dall'implementazione di IVpnPlugin.Connect. Mentre l'app è in primo piano, il timeout di Connect regolare viene sospeso.

La chiamata ActivateForeground verrà annullata se è presente una pausa prolungata (circa 10 minuti). Se non è possibile avviare, il plug-in deve supportare idealmente un metodo di autenticazione che non necessita dell'interfaccia utente.

Progettato per supportare schemi di autenticazione basati sul Web, ad esempio l'autenticazione SAML (Security Assertion Markup Language) e Azure Active Directory (AAD).

AddAndAssociateTransport(Object, Object)

Prepara, contrassegna e crea il trasporto da usare dal framework VPN come collegamento di trasporto che comunica il plug-in VPN al server VPN. Questa chiamata deve essere eseguita prima di qualsiasi altra operazione correlata alle API del framework VPN.

AppendVpnReceivePacketBuffer(VpnPacketBuffer)

Aggiunge un oggetto VpnPacketBuffer di ricezione al canale.

AppendVpnSendPacketBuffer(VpnPacketBuffer)

Aggiunge un oggetto VpnPacketBuffer di invio al canale.

AssociateTransport(Object, Object)

Prepara e contrassegna il trasporto da usare dal framework VPN come collegamento di trasporto che comunica il plug-in VPN al server VPN. Questa chiamata deve essere eseguita prima di qualsiasi altra operazione correlata alle API del framework VPN.

FlushVpnReceivePacketBuffers()

Scarica tutti i buffer di ricezione accodati. Vedere AppendVpnReceivePacketBuffer.

FlushVpnSendPacketBuffers()

Scarica tutti i buffer dei pacchetti aggiunti. Vedere AppendVpnSendPacketBuffer.

GetSlotTypeForTransportContext(Object)

Recupera il tipo di slot (hardware o software) per l'oggetto contesto di trasporto specificato.

GetVpnReceivePacketBuffer()

Richiede l'uso di un oggetto VpnPacketBuffer dal pool di buffer di pacchetti di ricezione da usare nel decapsulation o nell'inserimento di un pacchetto ricevuto dal server VPN nello stack di rete locale

GetVpnSendPacketBuffer()

Recupera un oggetto VpnPacketBuffer dal pool di buffer dei pacchetti di invio da usare in incapsulamento e trasmissione di un pacchetto di dati dallo stack di rete client al server VPN.

LogDiagnosticMessage(String)

Scrive un messaggio di diagnostica nel log di sistema.

ProcessEventAsync(Object, Object)

Elabora gli eventi VpnChannel in sospeso.

ReplaceAndAssociateTransport(Object, Object)

Sostituisce un trasporto esistente con uno nuovo da usare dal framework VPN come collegamento di trasporto che comunica il plug-in VPN al server VPN.

RequestCredentials(VpnCredentialType, Boolean, Boolean, Certificate)

Richiedere alla piattaforma VPN di raccogliere le credenziali dall'utente. Il plug-in può specificare il tipo e la forma di credenziali da raccogliere. Il risultato è un oggetto contenente le credenziali principali a seconda del tipo e delle credenziali secondarie per i casi di modifica e scadenza.

RequestCredentialsAsync(VpnCredentialType)

Richiede alla piattaforma VPN di raccogliere le credenziali di un determinato tipo di credenziale dall'utente.

RequestCredentialsAsync(VpnCredentialType, UInt32)

Richiede alla piattaforma VPN di raccogliere le credenziali dall'utente. Il plug-in può specificare il tipo e la forma di credenziali da raccogliere. Il risultato è un oggetto contenente le credenziali principali a seconda del tipo e le credenziali secondarie per i casi di modifica e scadenza.

RequestCredentialsAsync(VpnCredentialType, UInt32, Certificate)

Piattaforma VPN per raccogliere le credenziali dall'utente. Se l'interazione utente è necessaria per ottenere una credenziale o un consenso, la piattaforma fornisce l'interazione utente necessaria. Un plug-in VPN deve richiedere le credenziali prima di usare qualsiasi tipo di credenziale, anche se la finalità non è richiamare l'interazione dell'utente.

RequestCustomPrompt(IVectorView<IVpnCustomPrompt>)

Non supportato.

RequestCustomPromptAsync(IVectorView<IVpnCustomPromptElement>)

Richiede informazioni dall'utente presentando una richiesta. Consente l'uso di elementi del prompt che possono essere misti per costruire un prompt completo all'utente. L'input fornito dall'utente viene restituito al chiamante negli oggetti specificati.

RequestVpnPacketBuffer(VpnDataPathType, VpnPacketBuffer)

Richiede un IVpnPacketBuffer dal pool specificato. Esiste un pool IVpnPacketBuffer per il percorso di invio e un altro pool IVpnPacketBuffer per il percorso di ricezione.

SetAllowedSslTlsVersions(Object, Boolean)

Non supportato.

SetErrorMessage(String)

Non supportata.

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

Crea il canale VPN da usare dal plug-in VPN. Crea anche un'interfaccia di rete L3 per le applicazioni nel computer client per poter visualizzare la rete aziendale.

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

Crea il canale VPN da usare dal plug-in VPN. Crea anche un'interfaccia di rete L3 per le applicazioni nel computer client per poter visualizzare la rete aziendale.

StartReconnectingTransport(Object, Object)

Riconnettere il trasporto socket. Il contesto di trasporto e trasporto è l'unico parametro che può essere modificato in una riconnessione del trasporto socket.

Importante

Questa API non è implementata e si consiglia di non chiamarla.

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

Crea il canale VPN da usare dal plug-in VPN. Crea anche un'interfaccia di rete L3 per le applicazioni nel computer client per poter visualizzare la rete aziendale.

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

Crea il canale VPN per un numero arbitrario di trasporti da usare dal plug-in VPN. Crea anche un'interfaccia di rete L3 per le applicazioni nel computer client per poter visualizzare la rete aziendale. Consente la specifica dei filtri di traffico da usare negli scenari VPN per app.

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

Crea il canale VPN da usare dal plug-in VPN. Crea anche un'interfaccia di rete L3 per le applicazioni nel computer client per poter visualizzare la rete aziendale. Consente la specifica dei filtri di traffico da usare negli scenari VPN per app.

Stop()

Elimina un oggetto canale VPN stabilito in precedenza. Disassociates e chiude la connessione outerTunnelTransport al server VPN.

TerminateConnection(String)

Consente a un plug-in VPN di indicare un messaggio di errore e terminare il tentativo di connessione eseguito all'interno del metodo IVpnPlugin.Connect . Non deve essere chiamato nei casi di riconnessione.

Eventi

ActivityChange

Non supportato.

ActivityStateChange

Evento generato quando lo stato dell'attività del canale è cambiato. Usato dai plug-in VPN per determinare se il canale è attivo con il traffico o l'inattività.

Si applica a