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 definitivamente 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 del plug-in 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,IEnumerableIEnumerable<Object>,VpnTrafficFilterAssignment) |
Proprietà
Configuration |
Ottiene o imposta un oggetto |
CurrentRequestTransportContext |
Ottiene l'oggetto contesto di trasporto in uso, ad esempio il nome di un host o di un server. |
Id |
Ottiene l'ID istanza univoco di un canale VPN. Può essere usato per semplificare le operazioni di demuxing tra due istanze di connessione VPN. |
PlugInContext |
Ottiene o imposta un oggetto di contesto che i plug-in VPN possono usare per associare il proprio 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. Viene spesso usato per consentire all'utente di immettere le credenziali. È possibile chiamare ActivateForeground solo dall'implementazione di IVpnPlugin.Connect. Mentre l'app è in primo piano, viene sospeso il normale timeout Connect. La chiamata ActivateForeground verrà annullata se è presente una pausa lunga (circa 10 minuti). Se non è possibile avviare, il plug-in dovrebbe idealmente supportare un metodo di autenticazione che non richiede l'interfaccia utente. Progettato per supportare schemi di autenticazione basati sul Web, ad esempio SAML (Security Assertion Markup Language) e l'autenticazione di 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 |
AppendVpnSendPacketBuffer(VpnPacketBuffer) |
Aggiunge un oggetto VpnPacketBuffer di invio |
AssociateTransport(Object, Object) |
Prepara e contrassegna il trasporto per l'uso da parte del 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 eventuali buffer di pacchetti di ricezione accodati. Vedere AppendVpnReceivePacketBuffer. |
FlushVpnSendPacketBuffers() |
Scarica eventuali buffer di pacchetti di invio accodati. Vedere AppendVpnSendPacketBuffer. |
GetSlotTypeForTransportContext(Object) |
Recupera il tipo di slot (hardware o software) per l'oggetto contesto di trasporto specificato. |
GetVpnReceivePacketBuffer() |
Richiede 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 di 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 tutti 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 dell'utente è necessaria per ottenere credenziali o consenso, la piattaforma fornisce l'interazione dell'utente necessaria. Un plug-in VPN deve richiedere le credenziali prima di usare qualsiasi tipo di credenziale, anche se lo scopo 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 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 di IVpnPacketBuffer |
SetAllowedSslTlsVersions(Object, Boolean) |
Non supportato. |
SetErrorMessage(String) |
Non supportato. |
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 trasporto e il contesto di trasporto sono gli unici parametri che possono essere modificati 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 di specificare i filtri di traffico da usare in 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 di specificare i filtri di traffico da usare in scenari VPN per app. |
Stop() |
Elimina definitivamente un oggetto canale VPN stabilito in precedenza. Annulla l'associazione 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 traffico o inattivo. |