NetworkOperatorTetheringAccessPointConfiguration.IsAuthenticationKindSupportedAsync 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Wi-Fi 어댑터가 특정 인증 종류로 액세스 지점을 구성할 수 있는지 여부를 나타내는 값을 비동기적으로 검색합니다.
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)
매개 변수
- authenticationKind
- TetheringWiFiAuthenticationKind
쿼리할 인증 종류를 지정 하는 TetheringWiFiAuthenticationKind 열거형 값입니다.
반환
완료되면 인증 종류가 지원되는지를 포함하는 true
비동기 작업 개체이고, false
그렇지 않으면 입니다.
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 11, version 24H2 (10.0.26100.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v19.0에서 도입되었습니다.)
|
앱 기능 |
wiFiControl
|
예제
아래 코드 예제에서는 두 가지 공용 메서드를 나열합니다. 즉, 테더링 연결에 대한 대역 및 인증 종류를 설정합니다. 컴퓨터에서 활성 인터넷 연결의 현재 테더링 구성을 가져오는 프라이빗 메서드의 예도 있습니다. 테더링 구성 개체에는 설정되는 대역 및 인증 종류 속성이 포함되며, 변경 내용을 적용하는 데 사용되는 ConfigureAccessPointAsync API의 유일한 매개 변수입니다.
Main에서 처음 몇 줄의 코드는 대역을 설정합니다(사용 가능한 경우 6GHz 값을 사용). 또한 ApiInformation 클래스를 사용하여 특정 인증 종류가 지원되는지 여부를 검사. 그런 다음, 코드는 인증 종류를 설정합니다. 이 코드는 TetheringWiFiBand 및 TetheringWiFiAuthenticationKind의 열거형 값을 사용하는 방법을 보여 줍니다.
공개 메서드 SetBandForWiFiAccessPointAsync 및 SetAuthenticationKindForWiFiAccessPointAsync에서 코드는 다음을 보여 줍니다.
- 컴퓨터에서 활성 인터넷 연결에 대한 AP 구성을 가져옵니다.
- 구성 개체(NetworkOperatorTetheringAccessPointConfiguration)에서 대역 및 인증 종류 속성을 업데이트합니다.
- 업데이트된 구성을 적용하고 성공적으로 적용된 구성(또는
null
실패 시)을 반환합니다.
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);
}
}
}