Compartir a través de


NetworkOperatorTetheringAccessPointConfiguration.IsAuthenticationKindSupportedAsync Método

Definición

Recupera de forma asincrónica un valor que indica si el adaptador de Wi-Fi permite configurar el punto de acceso con un tipo de autenticación específico.

public:
 virtual IAsyncOperation<bool> ^ IsAuthenticationKindSupportedAsync(TetheringWiFiAuthenticationKind authenticationKind) = IsAuthenticationKindSupportedAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<bool> IsAuthenticationKindSupportedAsync(TetheringWiFiAuthenticationKind const& authenticationKind);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<bool> IsAuthenticationKindSupportedAsync(TetheringWiFiAuthenticationKind authenticationKind);
function isAuthenticationKindSupportedAsync(authenticationKind)
Public Function IsAuthenticationKindSupportedAsync (authenticationKind As TetheringWiFiAuthenticationKind) As IAsyncOperation(Of Boolean)

Parámetros

authenticationKind
TetheringWiFiAuthenticationKind

Valor de enumeración TetheringWiFiAuthenticationKind , que especifica el tipo de autenticación sobre el que se va a consultar.

Devoluciones

Objeto de operación asincrónica que, cuando se completa, contiene true si se admite el tipo de autenticación; en caso contrario, false.

Atributos

Requisitos de Windows

Familia de dispositivos
Windows 11, version 24H2 (se introdujo en la versión 10.0.26100.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v19.0)
Características de aplicaciones
wiFiControl

Ejemplos

En el ejemplo de código siguiente se enumeran dos métodos públicos: para establecer la banda y el tipo de autenticación para una conexión de tethering. También hay un método privado de ejemplo para capturar la configuración actual de la conexión a Internet activa en el equipo. El objeto de configuración de tethering contiene las propiedades de tipo de banda y autenticación que se establecen y es el único parámetro de la API ConfigureAccessPointAsync que se usa para aplicar los cambios.

En Main, las primeras líneas de código establecen la banda (con el valor de 6 GHz, si está disponible). Observe también el uso de la clase ApiInformation para comprobar si se admite un tipo de autenticación determinado. Después, el código establece el tipo de autenticación. Este código muestra el uso de valores de enumeración de TetheringWiFiBand y TetheringWiFiAuthenticationKind.

En los métodos públicos SetBandForWiFiAccessPointAsync y SetAuthenticationKindForWiFiAccessPointAsync, el código muestra lo siguiente:

  • Captura de la configuración de AP para la conexión a Internet activa en la máquina.
  • Actualizando las propiedades de tipo de banda y autenticación en el objeto de configuración (NetworkOperatorTetheringAccessPointConfiguration).
  • Aplicar la configuración actualizada y devolver la configuración aplicada correctamente (o null en caso de error).
using System;
using System.Threading.Tasks;
using Windows.Foundation.Metadata;
using Windows.Networking.NetworkOperators;
using Windows.Networking.Connectivity;

namespace DemoApp
{
    class DemoClass
    {
        private static NetworkOperatorTetheringAccessPointConfiguration GetCurrentAPConfig()
        {
            // Get the connection profile associated with the internet connection currently used by the local machine.
            ConnectionProfile currentConnectionProfile = NetworkInformation.GetInternetConnectionProfile();
            if (currentConnectionProfile == null)
            {
                throw new InvalidOperationException("Machine isn't connected to the internet.");
            }

            NetworkOperatorTetheringManager tetheringManager =
                NetworkOperatorTetheringManager.CreateFromConnectionProfile(currentConnectionProfile);

            NetworkOperatorTetheringAccessPointConfiguration configuration =
                tetheringManager.GetCurrentAccessPointConfiguration();

            return configuration;
        }

        public static async Task<NetworkOperatorTetheringAccessPointConfiguration>
            SetBandForWiFiAccessPointAsync(TetheringWiFiBand wifiBand)
        {
            NetworkOperatorTetheringAccessPointConfiguration configuration = GetCurrentAPConfig();

            if (!await configuration.IsBandSupportedAsync(wifiBand))
            {
                throw new ArgumentException("Band parameter isn't supported on AP.");
            }

            configuration.Band = wifiBand;

            try
            {
                await tetheringManager.ConfigureAccessPointAsync(configuration);

                return configuration;
            }
            catch
            {
                return null;
            }
        }

        public static async Task<NetworkOperatorTetheringAccessPointConfiguration>
            SetAuthenticationKindForWiFiAccessPointAsync(TetheringWiFiAuthenticationKind wiFiAuthenticationKind)
        {
            if (!ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 16))
            {
                throw new InvalidOperationException("OS doesn't support configuring auth.");
            }

            NetworkOperatorTetheringAccessPointConfiguration configuration = GetCurrentAPConfig();

            if (!await configuration.IsAuthenticationKindSupportedAsync(wiFiAuthenticationKind))
            {
                throw new ArgumentException("Authentication kind parameter isn't supported on AP.");
            }

            configuration.AuthenticationKind = wiFiAuthenticationKind;

            try
            {
                await tetheringManager.ConfigureAccessPointAsync(configuration);

                return configuration;
            }
            catch
            {
                return null;
            }
        }

        public static void Main()
        {
            NetworkOperatorTetheringAccessPointConfiguration sampleResult1 = null;
            if (ApiInformation.IsEnumNamedValuePresent(
                "Windows.Networking.NetworkOperators.TetheringWiFiBand", "SixGigahertz"))
            {
                sampleResult1 = await SetBandForWiFiAccessPointAsync(TetheringWiFiBand.SixGigahertz);
            }
            else
            {
                sampleResult1 = await SetBandForWiFiAccessPointAsync(TetheringWiFiBand.FiveGigahertz);
            }

            NetworkOperatorTetheringAccessPointConfiguration sampleResult2 =
                await SetAuthenticationKindForWiFiAccessPointAsync(TetheringWiFiAuthenticationKind.Wpa3);
        }
    }
}

Se aplica a