VpnChannel.Start Método

Definição

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

IVectorView<HostName>

IReadOnlyList<HostName>

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

IVectorView<HostName>

IReadOnlyList<HostName>

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