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 IVectorView< Windows.Networking.HostName *> vetor que especifica o endereço IPv4 atribuído pelo servidor VPN ao cliente VPN. O endereço deve ser definido na interface VPN L3. Se 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 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 da interface de rede VPN L3. Esse também é o tamanho do IVpnPacketBuffers no pool de recebimentos. 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 de cabeçalhos de encapsulamento], e deve ser <=1500. Se fosse maior que 1500 o tamanho do cabeçalho mtuSize ou encapsulamento deve ser reduzido, pois a plataforma limita o tamanho dos quadros para 1500.
- optimizeForLowCostNetwork
-
Boolean
bool
Um booliano especificando se a estrutura VPN deve monitorar e usar redes de baixo custo à medida que estiverem 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 tiver custo 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
- optionalOuterTunnelTransport
-
Object
Platform::Object
IInspectable
Um objeto IInspectable opcional para transporte de soquete. Esse objeto pode ser um
- 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.
Nota
Qualquer chamada para 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 o sucesso, 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