VpnChannel Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per