VpnChannel Classe
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.
Fornece métodos para criar e destruir um canal VPN e métodos para executar o gerenciamento de buffer. Um canal VPN é o objeto no sistema que vincula o fluxo de dados de tráfego de rede entre o soquete do servidor VPN do plug-in VPN e a pilha de rede do computador cliente.
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
- Herança
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Funcionalidades do aplicativo |
networkingVpnProvider
|
Comentários
Histórico de versões
Versão do Windows | Versão do SDK | Valor acrescentado |
---|---|---|
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) |
Propriedades
Configuration |
Obtém ou define um objeto |
CurrentRequestTransportContext |
Obtém o objeto de contexto de transporte em uso, por exemplo, o nome de um host ou servidor. |
Id |
Obtém a ID de instância exclusiva de um canal VPN. Isso pode ser usado para simplificar as operações de desativação entre duas instâncias de conexão VPN. |
PlugInContext |
Obtém ou define um objeto de contexto que os plug-ins vpn podem usar para associar seu estado interno a um vpnChannel objeto para uso posterior enquanto a sessão está em andamento. |
SystemHealth |
Obtém a instrução de integridade do computador cliente. |
Métodos
ActivateForeground(String, ValueSet) |
Ativa o aplicativo VPN em primeiro plano. Isso geralmente é usado para permitir que o usuário insira credenciais. Você pode chamar ActivateForeground somente na implementação de IVpnPlugin.Connect. Enquanto o aplicativo está em primeiro plano, o tempo limite regular do Connect é pausado. A chamada ActivateForeground será cancelada se houver uma pausa longa (cerca de 10 minutos). Se não for possível iniciar, o plug-in deverá dar suporte a um método de autenticação que não precise de interface do usuário (interface do usuário). Destinado a dar suporte a esquemas de autenticação baseados na Web, como a SAML (Security Assertion Markup Language) e a autenticação do AAD (Azure Active Directory). |
AddAndAssociateTransport(Object, Object) |
Prepara, marca e cria o transporte para uso pela estrutura VPN como um link de transporte comunicando o plug-in VPN ao servidor VPN. Essa chamada deve ser executada antes de qualquer outra operação relacionada às APIs da estrutura VPN. |
AppendVpnReceivePacketBuffer(VpnPacketBuffer) |
Acrescenta um recebimento objeto VpnPacketBuffer ao canal. |
AppendVpnSendPacketBuffer(VpnPacketBuffer) |
Acrescenta um objeto |
AssociateTransport(Object, Object) |
Prepara e marca o transporte para uso pela estrutura VPN como um link de transporte comunicando o plug-in VPN ao servidor VPN. Essa chamada deve ser executada antes de qualquer outra operação relacionada às APIs da estrutura VPN. |
FlushVpnReceivePacketBuffers() |
Libera os buffers de pacote de recebimento acrescentados. Consulte AppendVpnReceivePacketBuffer. |
FlushVpnSendPacketBuffers() |
Libera os buffers de pacote de envio acrescentados. Consulte |
GetSlotTypeForTransportContext(Object) |
Recupera o tipo de slot (hardware ou software) para o objeto de contexto de transporte especificado. |
GetVpnReceivePacketBuffer() |
Solicita um objeto VpnPacketBuffer do pool de buffer de pacotes de recebimento a ser usado na descapsulação ou injeção de um pacote recebido do servidor VPN na pilha de rede local |
GetVpnSendPacketBuffer() |
Recupera um objeto VpnPacketBuffer do pool de buffer de pacotes de envio a ser usado no encapsulamento e na transmissão de um pacote de dados da pilha de rede do cliente para o servidor VPN. |
LogDiagnosticMessage(String) |
Grava uma mensagem de diagnóstico no log do sistema. |
ProcessEventAsync(Object, Object) |
Processa todos os eventos vpnchannel pendentes. |
ReplaceAndAssociateTransport(Object, Object) |
Substitui um transporte existente por um novo para uso pela estrutura VPN como um link de transporte comunicando o plug-in VPN ao servidor VPN. |
RequestCredentials(VpnCredentialType, Boolean, Boolean, Certificate) |
Solicite à plataforma VPN para coletar credenciais do usuário. O plug-in pode especificar o tipo e a forma de credenciais a serem coletadas. O resultado é um objeto que contém as credenciais principais, dependendo do tipo e das credenciais secundárias para casos de alteração e expiração. |
RequestCredentialsAsync(VpnCredentialType) |
Solicita a plataforma VPN para coletar credenciais de um determinado tipo de credencial do usuário. |
RequestCredentialsAsync(VpnCredentialType, UInt32) |
Solicita a plataforma VPN para coletar credenciais do usuário. O plug-in pode especificar o tipo e a forma de credenciais a serem coletadas. O resultado é um objeto que contém as credenciais principais, dependendo do tipo, e as credenciais secundárias para casos de alteração e expiração. |
RequestCredentialsAsync(VpnCredentialType, UInt32, Certificate) |
Plataforma VPN para coletar credenciais do usuário. Se a interação do usuário for necessária para obter uma credencial ou consentimento, a plataforma fornecerá a interação do usuário necessária. Um plug-in VPN deve solicitar credenciais antes de usar qualquer tipo de credencial, mesmo que a intenção não seja invocar a interação do usuário para ele. |
RequestCustomPrompt(IVectorView<IVpnCustomPrompt>) |
Não há suporte. |
RequestCustomPromptAsync(IVectorView<IVpnCustomPromptElement>) |
Solicita informações do usuário apresentando um prompt. Permite o uso de elementos de prompt que podem ser misturados para construir um prompt completo para o usuário. A entrada fornecida pelo usuário é retornada ao chamador nos objetos especificados. |
RequestVpnPacketBuffer(VpnDataPathType, VpnPacketBuffer) |
Solicita um IVpnPacketBuffer do pool especificado. Há um pool IVpnPacketBuffer para o caminho de envio e outro pool de IVpnPacketBuffer para o caminho de recebimento. |
SetAllowedSslTlsVersions(Object, Boolean) |
Não há suporte. |
SetErrorMessage(String) |
Não há suporte. |
Start(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnNamespaceAssignment, UInt32, UInt32, Boolean, Object, Object) |
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. |
StartExistingTransports(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean) |
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. |
StartReconnectingTransport(Object, Object) |
Reconecte o transporte do soquete. O contexto de transporte e transporte são os únicos parâmetros que podem ser alterados em uma reconexão de transporte de soquete. Importante Essa API não é implementada e recomendamos que você não a chame. |
StartWithMainTransport(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object) |
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. |
StartWithTrafficFilter(IIterable<HostName>, IIterable<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, IIterable<Object>, VpnTrafficFilterAssignment) |
Cria o canal VPN para um número arbitrário de transportes a serem usados pelo plug-in VPN. Ele também cria um adaptador de rede L3 para aplicativos no computador cliente para poder ver a rede corporativa. Ele permite que a especificação de filtros de tráfego seja usada em cenários de VPN por aplicativo. |
StartWithTrafficFilter(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object, Object, VpnTrafficFilterAssignment) |
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. Ele permite que a especificação de filtros de tráfego seja usada em cenários de VPN por aplicativo. |
Stop() |
Destrói um objeto de canal VPN estabelecido anteriormente. Desassocia e fecha a conexão outerTunnelTransport com o servidor VPN. |
TerminateConnection(String) |
Permite que um plug-in VPN indique uma mensagem de erro e encerre a tentativa de conexão executada dentro do método IVpnPlugin.Connect. Não deve ser chamado em casos de reconexão. |
Eventos
ActivityChange |
Não há suporte. |
ActivityStateChange |
Evento gerado quando o estado de atividade do canal é alterado. Usado por plug-ins VPN para determinar se o canal está ativo com tráfego ou ocioso. |