NetworkOperatorTetheringAccessPointConfiguration.IsAuthenticationKindSupportedAsync 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.
Recupera de forma assíncrona um valor que indica se o adaptador Wi-Fi permite configurar o ponto de acesso com um tipo de autenticação 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
Um valor de enumeração TetheringWiFiAuthenticationKind , especificando o tipo de autenticação sobre o qual consultar.
Retornos
Um objeto de operação assíncrono que, quando concluído, contém true
se o tipo de autenticação tem suporte; caso contrário, false
.
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 11, version 24H2 (introduzida na 10.0.26100.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v19.0)
|
Funcionalidades do aplicativo |
wiFiControl
|
Exemplos
O exemplo de código abaixo lista dois métodos públicos: para definir a banda e o tipo de autenticação para uma conexão de vinculação. Há também um método privado de exemplo para buscar a configuração de vinculação atual da conexão de Internet ativa no computador. O objeto de configuração de tethering contém as propriedades do tipo de banda e autenticação que estão sendo definidas e é o único parâmetro para a API ConfigureAccessPointAsync usada para aplicar as alterações.
Em Main, as primeiras linhas de código definem a banda (usando o valor de 6 GHz, se ela estiver disponível). Observe também o uso da classe ApiInformation para marcar se há suporte para um tipo de autenticação específico. Depois disso, o código define o tipo de autenticação. Esse código demonstra o uso de valores de enumeração de TetheringWiFiBand e TetheringWiFiAuthenticationKind.
Nos métodos públicos SetBandForWiFiAccessPointAsync e SetAuthenticationKindForWiFiAccessPointAsync, o código mostra o seguinte:
- Buscando a configuração de AP para a conexão de Internet ativa no computador.
- Atualizando as propriedades do tipo de banda e autenticação no objeto de configuração (NetworkOperatorTetheringAccessPointConfiguration).
- Aplicando a configuração atualizada e retornando a configuração aplicada com êxito (ou
null
no caso de falha).
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);
}
}
}