VpnChannel.Start Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria o canal VPN a ser usado pelo plug-in VPN. Ele também cria um adaptador de rede L3 para aplicativos no computador cliente para poder ver a rede corporativa.
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)
Parâmetros
- assignedClientIPv4list
Um ponteiro para um vetor IVectorView< Windows.Networking.HostName *> especificando o endereço IPv4 atribuído pelo servidor VPN ao cliente VPN. O endereço deve ser definido na interface VPN L3. Se for nulo, DHCPv4 será usado.
- assignedClientIPv6list
Um ponteiro para uma estrutura Windows.Networking.HostName especificando o endereço IPv6 atribuído pelo servidor VPN ao cliente VPN e que deve ser definido na interface VPN L3. Se for nulo, DHCPv6 ou RD será usado.
- vpnInterfaceId
- VpnInterfaceId
Um ponteiro para um VpnInterfaceId.
- routeScope
- VpnRouteAssignment
Um ponteiro para a classe Windows.Networking.VpnRouteAssignment que representa as rotas que devem ser associadas/não associadas à interface VPN
- namespaceScope
- VpnNamespaceAssignment
Um ponteiro para a classe Windows.Networking.DomainNameAssignment que representa a lista de prefixos de nome associados ao canal VPN, incluindo seus servidores DNS e proxy.
- mtuSize
-
UInt32
unsigned int
uint32_t
Um valor UINT16 que especifica o tamanho da MTU do adaptador de rede VPN L3. Esse também é o tamanho do IVpnPacketBuffers no pool de Recebimento. Esse valor deve ser configurado para ser no máximo 1400.
- maxFrameSize
-
UInt32
unsigned int
uint32_t
Um valor UINT16 que especifica o tamanho máximo do quadro definido pelo encapsulamento do protocolo VPN sem contar o outerTunnelTransport. Esse também é o tamanho do IVpnPacketBuffers no pool enviar. Esse valor deve ser configurado como mtuSize + [tamanho dos cabeçalhos de encapsulamento] e deve ser <=1500. Se ele for maior que 1500 mtuSize ou o tamanho do cabeçalho de encapsulamento deve ser reduzido, pois a plataforma limita o tamanho dos quadros a 1500.
- optimizeForLowCostNetwork
-
Boolean
bool
Um booliano que especifica se a estrutura VPN deve monitorar e usar redes de baixo custo conforme elas estão disponíveis. Se TRUE , a estrutura VPN invocará o retorno de chamada connect() para o plug-in VPN para reconectá-lo sempre que a rede antiga for dispendiosa e uma nova rede de baixo custo ficar disponível.
- mainOuterTunnelTransport
-
Object
Platform::Object
IInspectable
Um objeto IInspectable para transporte de soquete. Esse objeto pode ser um Windows.Networking.Sockets.DatagramSocket ou um Windows.Networking.Sockets.StreamSocket. Esse soquete controla a conexão com o servidor VPN e será usado para enviar pacotes IP encapsulados e receber dados encapsulados.
- optionalOuterTunnelTransport
-
Object
Platform::Object
IInspectable
Um objeto IInspectable opcional para transporte de soquete. Esse objeto pode ser um Windows.Networking.Sockets.DatagramSocket ou um Windows.Networking.Sockets.StreamSocket. Esse soquete controla a conexão com o servidor VPN e será usado para enviar pacotes IP encapsulados e receber dados encapsulados.
- Atributos
Requisitos do Windows
Funcionalidades do aplicativo |
networkingVpnProvider
|
Comentários
Se a função for bem-sucedida, o valor retornado será S_OK, caso contrário, a função retornará um valor hresult de erro que descreve a falha específica. Se o plug-in não estiver conectado, o erro será E_ACCESSDENIED.
Observação
Qualquer chamada a essa API fora de um plug-in VPN conectado falhará, pois a atividade e as interações entre o plug-in vpn e o sistema são controladas pelo perfil vpn. Só pode haver um perfil vpn por processo porque o plug-in VPN tem apenas um perfil VPN mapeado para ele e, se um chamador criasse mais de um objeto de perfil, todos eles se refeririam às mesmas configurações.
Com êxito, a propriedade de outertTunnelTransport é transferida pela estrutura VPN. Chamar esse método várias vezes com os mesmos parâmetros não terá efeito. Chamar esse método várias vezes com variações nos valores de parâmetro garantirá que o canal seja atualizado com os valores mais recentes sem interrupções em outras propriedades.
Só pode haver um canal VPN por processo e, portanto, um plug-in VPN só pode ter um canal VPN atribuído a ele. O mtuSize sempre deve ser menor que o maxFrameSize.
Aplica-se a
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de