Condividi tramite


VpnChannel.Start Metodo

Definizione

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.

public:
 virtual void Start(IVectorView<HostName ^> ^ assignedClientIPv4list, IVectorView<HostName ^> ^ assignedClientIPv6list, VpnInterfaceId ^ vpnInterfaceId, VpnRouteAssignment ^ routeScope, VpnNamespaceAssignment ^ namespaceScope, unsigned int mtuSize, unsigned int maxFrameSize, bool optimizeForLowCostNetwork, Platform::Object ^ mainOuterTunnelTransport, Platform::Object ^ optionalOuterTunnelTransport) = Start;
/// [Windows.Foundation.Metadata.Overload("Start")]
void Start(IVectorView<HostName> const& assignedClientIPv4list, IVectorView<HostName> const& assignedClientIPv6list, VpnInterfaceId const& vpnInterfaceId, VpnRouteAssignment const& routeScope, VpnNamespaceAssignment const& namespaceScope, uint32_t const& mtuSize, uint32_t const& maxFrameSize, bool const& optimizeForLowCostNetwork, IInspectable const& mainOuterTunnelTransport, IInspectable const& optionalOuterTunnelTransport);
[Windows.Foundation.Metadata.Overload("Start")]
public void Start(IReadOnlyList<HostName> assignedClientIPv4list, IReadOnlyList<HostName> assignedClientIPv6list, VpnInterfaceId vpnInterfaceId, VpnRouteAssignment routeScope, VpnNamespaceAssignment namespaceScope, uint mtuSize, uint maxFrameSize, bool optimizeForLowCostNetwork, object mainOuterTunnelTransport, object optionalOuterTunnelTransport);
function start(assignedClientIPv4list, assignedClientIPv6list, vpnInterfaceId, routeScope, namespaceScope, mtuSize, maxFrameSize, optimizeForLowCostNetwork, mainOuterTunnelTransport, optionalOuterTunnelTransport)
Public Sub Start (assignedClientIPv4list As IReadOnlyList(Of HostName), assignedClientIPv6list As IReadOnlyList(Of HostName), vpnInterfaceId As VpnInterfaceId, routeScope As VpnRouteAssignment, namespaceScope As VpnNamespaceAssignment, mtuSize As UInteger, maxFrameSize As UInteger, optimizeForLowCostNetwork As Boolean, mainOuterTunnelTransport As Object, optionalOuterTunnelTransport As Object)

Parametri

assignedClientIPv4list

IVectorView<HostName>

IReadOnlyList<HostName>

Puntatore a un oggetto IVectorView< Windows.Networking.HostName *> vettore che specifica l'indirizzo IPv4 assegnato dal server VPN al client VPN. L'indirizzo deve essere impostato sull'interfaccia VPN L3. Se Null , viene usato DHCPv4.

assignedClientIPv6list

IVectorView<HostName>

IReadOnlyList<HostName>

Puntatore a una struttura Windows.Networking.HostName che specifica l'indirizzo IPv6 assegnato dal server VPN al client VPN e che deve essere impostato sull'interfaccia VPN L3. Se null, viene usato DHCPv6 o RD.

vpnInterfaceId
VpnInterfaceId

Puntatore a un VpnInterfaceId.

routeScope
VpnRouteAssignment

Puntatore alla classe Windows.Networking.VpnRouteAssignment che rappresenta le route che devono essere associate/non associate all'interfaccia VPN

namespaceScope
VpnNamespaceAssignment

Puntatore alla classe Windows.Networking.DomainNameAssignment che rappresenta l'elenco dei prefissi dei nomi associati al canale VPN, inclusi i server DNS e proxy.

mtuSize
UInt32

unsigned int

uint32_t

Valore UINT16 che specifica le dimensioni MTU dell'interfaccia di rete VPN L3. Si tratta anche delle dimensioni di IVpnPacketBuffers nel pool di ricezione. Questo valore deve essere configurato per essere al massimo 1400.

maxFrameSize
UInt32

unsigned int

uint32_t

Valore UINT16 che specifica la dimensione massima del frame definito dall'incapsulamento del protocollo VPN senza contare il outerTunnelTransport. Questa è anche la dimensione del IVpnPacketBuffers nel pool di invio. Questo valore deve essere configurato come mtuSize + [dimensioni delle intestazioni di incapsulamento], e deve essere <=1500. Se si tratta di dimensioni maggiori di 1500 mtuSize o incapsulamento, le dimensioni dell'intestazione devono essere ridotte perché la piattaforma limita i frame a 1500.

optimizeForLowCostNetwork
Boolean

bool

Un booleano che specifica se il framework VPN deve monitorare e usare reti a basso costo man mano che sono disponibili. Se TRUE framework VPN richiamerà il callback connect() al plug-in VPN per riconnetterlo ogni volta che la rete precedente è costata e una nuova rete a basso costo diventa disponibile.

mainOuterTunnelTransport
Object

Platform::Object

IInspectable

Oggetto IInspectable per il trasporto socket. Questo oggetto può essere un Windows.Networking.Sockets.DatagramSocket o un Windows.Networking.Sockets.StreamSocket. Questo socket controlla la connessione al server VPN e verrà usato per inviare pacchetti IP incapsulati e ricevere dati incapsulati.

optionalOuterTunnelTransport
Object

Platform::Object

IInspectable

Oggetto facoltativo IInspectable per il trasporto socket. Questo oggetto può essere un Windows.Networking.Sockets.DatagramSocket o un Windows.Networking.Sockets.StreamSocket. Questo socket controlla la connessione al server VPN e verrà usato per inviare pacchetti IP incapsulati e ricevere dati incapsulati.

Attributi

Requisiti Windows

Funzionalità dell'app
networkingVpnProvider

Commenti

Se la funzione ha esito positivo, il valore restituito è S_OK, in caso contrario la funzione restituirà un valore hresult di errore che descrive l'errore specifico. Se il plug-in non è connesso, l'errore verrà E_ACCESSDENIED.

Nota

Qualsiasi chiamata a questa API all'esterno di un plug-in VPN connesso avrà esito negativo, perché l'attività e le interazioni tra il plug-in VPN e il sistema sono controllati dal profilo VPN. Può esserci un solo profilo VPN per processo perché il plug-in VPN ha solo un profilo VPN mappato e, se un chiamante dovesse creare più di un oggetto profilo, tutti fanno riferimento alle stesse impostazioni.

In caso di esito positivo, la proprietà di outertTunnelTransport viene trasferita dal framework VPN. La chiamata a questo metodo più volte con gli stessi parametri non avrà alcun effetto. La chiamata a questo metodo più volte con variazioni nei valori dei parametri garantisce che il canale venga aggiornato con i valori più recenti senza interruzioni ad altre proprietà.

Può esistere un solo canale VPN per processo e quindi un plug-in VPN può avere un solo canale VPN assegnato. Il mtuSize deve essere sempre inferiore a quello maxFrameSize.

Si applica a