NetworkOperatorTetheringAccessPointConfiguration.IsAuthenticationKindSupportedAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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);
}
}
}