Share via


VpnChannel Clase

Definición

Proporciona métodos para crear y destruir un canal VPN y métodos para realizar la administración del búfer. Un canal VPN es el objeto del sistema que vincula el flujo de datos de tráfico de red entre el socket de servidor VPN del complemento VPN y la pila de red de la máquina 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
Herencia
Object Platform::Object IInspectable VpnChannel
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
Características de aplicaciones
networkingVpnProvider

Comentarios

Historial de versiones

Versión de Windows Versión del SDK Valor agregado
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>)

Propiedades

Configuration

Obtiene o establece un objeto VpnChannelConfiguration correspondiente a la configuración de VpnChannel y que determina cómo establecer la comunicación con el servidor VPN.

CurrentRequestTransportContext

Obtiene el objeto de contexto de transporte en uso, por ejemplo, el nombre de un host o servidor.

Id

Obtiene el identificador de instancia único de un canal VPN. Esto se puede usar para simplificar las operaciones de desmuxing entre dos instancias de conexión VPN.

PlugInContext

Obtiene o establece un objeto de contexto que los complementos vpn pueden usar para asociar su estado interno a un objeto VpnChannel para su uso posterior mientras la sesión está en curso.

SystemHealth

Obtiene la instrucción de mantenimiento del equipo cliente.

Métodos

ActivateForeground(String, ValueSet)

Activa la aplicación VPN en primer plano. Esto se usa a menudo para permitir que el usuario escriba las credenciales. Solo puede llamar a ActivateForeground desde la implementación de IVpnPlugin.Connect. Mientras la aplicación está en primer plano, se pausa el tiempo de espera de conexión normal.

La llamada a ActivateForeground se cancelará si hay una pausa larga (aproximadamente 10 minutos). Si no se puede iniciar, el complemento debería admitir idealmente un método de autenticación que no necesite interfaz de usuario (UI).

Diseñado para admitir esquemas de autenticación basados en web, como el lenguaje de marcado de aserción de seguridad (SAML) y la autenticación de Azure Active Directory (AAD).

AddAndAssociateTransport(Object, Object)

Prepara, marca y crea el transporte para que lo use el marco de VPN como un vínculo de transporte que comunica el complemento VPN al servidor VPN. Esta llamada se debe realizar antes de cualquier otra operación relacionada con las API del marco de VPN.

AppendVpnReceivePacketBuffer(VpnPacketBuffer)

Anexa un objeto VpnPacketBuffer de recepción al canal.

AppendVpnSendPacketBuffer(VpnPacketBuffer)

Anexa un objeto VpnPacketBuffer de envío al canal.

AssociateTransport(Object, Object)

Prepara y marca el transporte para que lo use el marco de VPN como un vínculo de transporte que comunica el complemento VPN con el servidor VPN. Esta llamada se debe realizar antes de cualquier otra operación relacionada con las API del marco de VPN.

FlushVpnReceivePacketBuffers()

Vacía los búferes de paquetes de recepción anexados. Consulte AppendVpnReceivePacketBuffer.

FlushVpnSendPacketBuffers()

Vacía los búferes de paquetes de envío anexados. Consulte AppendVpnSendPacketBuffer.

GetSlotTypeForTransportContext(Object)

Recupera el tipo de ranura (hardware o software) para el objeto de contexto de transporte especificado.

GetVpnReceivePacketBuffer()

Solicita un objeto VpnPacketBuffer del grupo de búferes de paquetes de recepción que se usará en la descapsulación o inyección de un paquete recibido del servidor VPN en la pila de red local.

GetVpnSendPacketBuffer()

Recupera un objeto VpnPacketBuffer del grupo de búferes de paquetes de envío para usarlo en encapsulación y transmisión de un paquete de datos de la pila de red del cliente al servidor VPN.

LogDiagnosticMessage(String)

Escribe un mensaje de diagnóstico en el registro del sistema.

ProcessEventAsync(Object, Object)

Procesa los eventos de VpnChannel pendientes.

ReplaceAndAssociateTransport(Object, Object)

Reemplaza un transporte existente por uno nuevo para su uso por el marco de VPN como un vínculo de transporte que comunica el complemento VPN al servidor VPN.

RequestCredentials(VpnCredentialType, Boolean, Boolean, Certificate)

Solicite a la plataforma VPN que recopile las credenciales del usuario. El complemento puede especificar el tipo y la forma de credenciales que se van a recopilar. El resultado es un objeto que contiene las credenciales principales según el tipo y las credenciales secundarias para los casos de cambio y expiración.

RequestCredentialsAsync(VpnCredentialType)

Solicita a la plataforma VPN que recopile las credenciales de un tipo de credencial determinado del usuario.

RequestCredentialsAsync(VpnCredentialType, UInt32)

Solicita a la plataforma VPN que recopile las credenciales del usuario. El complemento puede especificar el tipo y la forma de credenciales que se van a recopilar. El resultado es un objeto que contiene las credenciales principales según el tipo y las credenciales secundarias para los casos de cambio y expiración.

RequestCredentialsAsync(VpnCredentialType, UInt32, Certificate)

Plataforma VPN para recopilar credenciales del usuario. Si se requiere interacción del usuario para obtener una credencial o consentimiento, la plataforma proporciona la interacción necesaria del usuario. Un complemento vpn debe solicitar credenciales antes de usar cualquier tipo de credencial, incluso si la intención no es invocar la interacción del usuario para ella.

RequestCustomPrompt(IVectorView<IVpnCustomPrompt>)

No compatible.

RequestCustomPromptAsync(IVectorView<IVpnCustomPromptElement>)

Solicita información del usuario mediante la presentación de un mensaje. Permite el uso de elementos prompt que se pueden mezclar para construir un mensaje completo al usuario. La entrada proporcionada por el usuario se devuelve al autor de la llamada en los objetos especificados.

RequestVpnPacketBuffer(VpnDataPathType, VpnPacketBuffer)

Solicita un IVpnPacketBuffer desde el grupo especificado. Hay un grupo de IVpnPacketBuffer para la ruta de acceso de envío y otro grupo de IVpnPacketBuffer para la ruta de acceso de recepción.

SetAllowedSslTlsVersions(Object, Boolean)

No compatible.

SetErrorMessage(String)

No compatible.

Start(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnNamespaceAssignment, UInt32, UInt32, Boolean, Object, Object)

Crea el canal VPN que va a usar el complemento VPN. También crea una interfaz de red L3 para las aplicaciones de la máquina cliente para poder ver la red corporativa.

StartExistingTransports(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean)

Crea el canal VPN que va a usar el complemento VPN. También crea una interfaz de red L3 para las aplicaciones de la máquina cliente para poder ver la red corporativa.

StartReconnectingTransport(Object, Object)

Vuelva a conectar el transporte del socket. El contexto de transporte y transporte son los únicos parámetros que se pueden cambiar en una reconexión de transporte de socket.

Importante

Esta API no se implementa y se recomienda no llamarla.

StartWithMainTransport(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object)

Crea el canal VPN que va a usar el complemento VPN. También crea una interfaz de red L3 para las aplicaciones de la máquina cliente para poder ver la red corporativa.

StartWithTrafficFilter(IIterable<HostName>, IIterable<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, IIterable<Object>, VpnTrafficFilterAssignment)

Crea el canal VPN para un número arbitrario de transportes que usará el complemento VPN. También crea una interfaz de red L3 para las aplicaciones de la máquina cliente para poder ver la red corporativa. Permite que la especificación de filtros de tráfico se use en escenarios de VPN por aplicación.

StartWithTrafficFilter(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object, Object, VpnTrafficFilterAssignment)

Crea el canal VPN que va a usar el complemento VPN. También crea una interfaz de red L3 para las aplicaciones de la máquina cliente para poder ver la red corporativa. Permite que la especificación de filtros de tráfico se use en escenarios de VPN por aplicación.

Stop()

Destruye un objeto de canal VPN establecido anteriormente. Desasocia y cierra la conexión outerTunnelTransport al servidor VPN.

TerminateConnection(String)

Permite que un complemento vpn indique un mensaje de error y finalice el intento de conexión realizado dentro del método IVpnPlugin.Connect . No se debe llamar a en casos de reconexión.

Eventos

ActivityChange

No compatible.

ActivityStateChange

Evento generado cuando el estado de actividad del canal ha cambiado. Lo usan los complementos vpn para determinar si el canal está activo con tráfico o inactivo.

Se aplica a