Skip to content

Commit dd9f7fb

Browse files
Steven WhiteSteven White
authored andcommitted
Merged PR 21097: New Ge APIs
New Ge APIs
1 parent f163313 commit dd9f7fb

15 files changed

Lines changed: 124 additions & 21 deletions

windows.networking.networkoperators/networkoperatortetheringmanager_starttetheringasync_1060696031.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,29 @@ public Windows.Foundation.IAsyncOperation<Windows.Networking.NetworkOperators.Ne
1212

1313
## -description
1414

15-
Allows you to start a tethering session without having to pre-configure it via [ConfigureAccessPointAsync](./networkoperatortetheringmanager_configureaccesspointasync_1399951422.md). The configuration passed as a parameter is valid only for the current session, and will be lost once the session has ended.
15+
Starts the mobile hotspot using a specified per-session configuration.
16+
17+
This overload allows you to start a tethering session without having to pre-configure it via [ConfigureAccessPointAsync](./networkoperatortetheringmanager_configureaccesspointasync_1399951422.md). The configuration passed as a parameter is valid only for the current session, and will be lost once the session has ended.
1618

1719
Starting a new session via this overload of **StartTetheringAsync** also allows you to configure per-session-only parameters that can't be persistently set via **ConfigureAccessPointAsync**. Parameters that *can* be persisted are the network SSID, the network password, the network wireless frequency band, and the network authentication algorithm.
1820

21+
We recommended that you first call [StopTetheringAsync](./networkoperatortetheringmanager_stoptetheringasync_1234797808.md) in order to ensure that the tethering hotspot is off.
22+
1923
## -parameters
2024

2125
### -param configuration
2226

27+
A [NetworkOperatorTetheringSessionAccessPointConfiguration](./networkoperatortetheringsessionaccesspointconfiguration.md) object containing all the per-session fields necessary to configure the mobile hotspot. This configuration doesn't persist between sessions.
28+
2329
## -returns
2430

31+
An object containing a [TetheringOperationStatus](./tetheringoperationstatus.md) status code indicating whether the start operation was successful, or the reason of failure, as well as a detailed **HSTRING** containing an additional error message if applicable.
32+
2533
## -remarks
2634

2735
## -see-also
2836

2937
## -examples
38+
39+
## -capabilities
40+
wiFiControl

windows.networking.networkoperators/networkoperatortetheringmanager_starttetheringasync_388849923.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ public Windows.Foundation.IAsyncOperation<Windows.Networking.NetworkOperators.Ne
1313
## -description
1414
Establishes the tethering network.
1515

16+
We recommended that you first call [StopTetheringAsync](./networkoperatortetheringmanager_stoptetheringasync_1234797808.md) in order to ensure that the tethering hotspot is off.
17+
1618
## -returns
1719
The result of the tethering network operation.
1820

windows.networking.networkoperators/networkoperatortetheringsessionaccesspointconfiguration.md

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,37 @@ public sealed class NetworkOperatorTetheringSessionAccessPointConfiguration
1212

1313
## -description
1414

15-
Represents a per-session tethering configuration.
15+
Contains all per-session configuration fields used to configure the Wi-Fi tethering hotspot, plus relevant helper methods.
1616

17-
**NetworkOperatorTetheringSessionAccessPointConfiguration** contains the same fields and helper methods as [NetworkOperatorTetheringAccessPointConfiguration](./networkoperatortetheringaccesspointconfiguration.md) does, with several additions.
17+
**NetworkOperatorTetheringSessionAccessPointConfiguration** contains the same fields and helper methods as its persistent counterpart [NetworkOperatorTetheringAccessPointConfiguration](./networkoperatortetheringaccesspointconfiguration.md) does, with several additions. But all the configurable properties from **NetworkOperatorTetheringSessionAccessPointConfiguration** are treated as per-session, including all the shared properties.
18+
19+
**NetworkOperatorTetheringSessionAccessPointConfiguration** is used primarily in combination with [StartTetheringAsync](./networkoperatortetheringmanager_starttetheringasync_1060696031.md) to specify the per-session tethering configuration. Doing so won't clear or alter the existing persistent configuration. Calling **StartTetheringAsync** with no parameters always uses the persistent configuration pre-configured via [ConfigureAccessPointAsync](./networkoperatortetheringmanager_configureaccesspointasync_1399951422.md).
1820

1921
## -remarks
2022

21-
The purpose of this class is to specify the per-session tethering configuration when starting the tethering session via [StartTetheringAsync](./networkoperatortetheringmanager_starttetheringasync_1060696031.md). The additional members of this per-session-only class are typically values that aren't currently configurable by users via Windows **Settings**.
23+
Tethering is a feature that allows a Windows device to function as a mobile hotspot: providing internet connections to other devices over Wi-Fi or Bluetooth. Four persistent fields can be configured on the Wi-Fi tethering hotspot: the network SSID, the network password, the network wireless frequency band (for example, 2.4 GHz, 5 GHz, 6 GHz), and the network authentication algorithm (for example, WPA2, WPA3). Once set, all of those fields persist between tethering sessions; meaning that the values are stored in non-volatile storage.
24+
25+
But you can also start a tethering session using an entirely per-session configuration. A per-session tethering configuration doesn't persist between tethering sessions, and doesn't alter the current persistent configuration. A per-session field is *performance priority*.
26+
27+
So the purpose of **NetworkOperatorTetheringSessionAccessPointConfiguration** is to specify the per-session tethering configuration when starting the tethering session via [StartTetheringAsync](./networkoperatortetheringmanager_starttetheringasync_1060696031.md). The additional members of this per-session-only class are typically values that aren't currently configurable by users via Windows **Settings**.
2228

2329
## -see-also
2430

2531
## -examples
2632

33+
The tethering API in the **Windows.Networking.NetworkOperators** namespace provides a comprehensive set of functionalities that enable you to programmatically configure and control tethering (that is, sharing a device's internet connection with other devices). The code example below demonstrates the use of per-session tethering configurations.
34+
35+
With the per-session tethering configurations, you can temporarily override the persistent tethering hotspot configuration without permanently altering it. That's particularly useful when a temporary setting is required. For example, when connecting an HMD to a PC by using mobile hotspot, but when you want to make things as seamless as possible by connecting the device via a temporary Wi-Fi network, without revealing the configuration details to the user, and without altering the user's current mobile hotspot configuration.
36+
37+
Moreover, to achieve a low latency and low jitter connection to the PC, you might want to use a 6 GHz connection. If the user's PC is connected to the internet via a 5 GHz Wi-Fi connection, then the mobile hotspot can't be started on the 6 GHz band. So there's a per-session parameter, [PerformancePriority](./networkoperatortetheringsessionaccesspointconfiguration_performancepriority.md), that tells the driver how to prioritize performance between the tethering hotspot and the station connection. The [Default](./tetheringwifiperformancepriority.md) constant tells the driver to prioritize the station connection over everything else. On the other hand, [TetheringOverStation](./tetheringwifiperformancepriority.md) tells the driver to prioritize the performance of the tethering hotspot, thus allowing the driver to downgrade the station connection to 2.4 GHz if needed. This is all to offer the user as much of a seamless experience as possible, without requiring them to personally change the hotspot configuration and station connection.
38+
39+
The code sample below showcases:
40+
41+
* **API support verification**. It's important that your app tests whether the operating system it happens to be running on supports per-session tethering configurations. To do that, use the [ApiInformation.IsApiContractPresent](/uwp/api/windows.foundation.metadata.apiinformation.isapicontractpresent) method.
42+
* **Obtaining the tethering manager**. The code sample's locally-defined **GetTetheringManagerForCurrentConnection** method identifies the internet connection profile in use, and retrieves a tethering manager that corresponds to that profile. The tethering manager is later used to retrieve the primary access point configuration, and start the actual tethering session.
43+
* **Setting up the session configuration**. You can derive a tethering session configuration from the existing primary configuration, or set one up from scratch. You can then set or modify various parameters, like the SSID, passphrase, band, authentication kind, and performance priority.
44+
* **Starting the tethering session**. The session configuration can be passed to the [StartTetheringAsync](./networkoperatortetheringmanager_starttetheringasync_1060696031.md) method to initiate the tethering session. This method also provides extensive feedback through the [TetheringOperationStatus](./tetheringoperationstatus.md) enum, offering a nuanced understanding of the operation's result.
45+
2746
```csharp
2847
using System;
2948
using System.Threading.Tasks;
@@ -173,3 +192,6 @@ namespace TetheringApiDemoApp
173192
}
174193
}
175194
```
195+
196+
## -capabilities
197+
wiFiControl

windows.networking.networkoperators/networkoperatortetheringsessionaccesspointconfiguration_authenticationkind.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,17 @@ public Windows.Networking.NetworkOperators.TetheringWiFiAuthenticationKind Authe
1212

1313
## -description
1414

15+
Gets or sets the authentication kind to be used for the Wi-Fi tethering connection. Similar to [NetworkOperatorTetheringAccessPointConfiguration.AuthenticationKind](./networkoperatortetheringaccesspointconfiguration_authenticationkind.md).
16+
1517
## -property-value
1618

19+
The enumeration value that describes the authentication kind to be used for the Wi-Fi tethering connection.
20+
1721
## -remarks
1822

1923
## -see-also
2024

2125
## -examples
2226

23-
27+
## -capabilities
28+
wiFiControl

windows.networking.networkoperators/networkoperatortetheringsessionaccesspointconfiguration_band.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,17 @@ public Windows.Networking.NetworkOperators.TetheringWiFiBand Band { get; set; }
1212

1313
## -description
1414

15+
Gets or sets the frequency band to be used for the Wi-Fi tethering connection. Similar to [NetworkOperatorTetheringAccessPointConfiguration.Band](./networkoperatortetheringaccesspointconfiguration_band.md).
16+
1517
## -property-value
1618

19+
The enumeration value that describes the frequency band to be used for the Wi-Fi tethering connection.
20+
1721
## -remarks
1822

1923
## -see-also
2024

2125
## -examples
2226

23-
27+
## -capabilities
28+
wiFiControl

windows.networking.networkoperators/networkoperatortetheringsessionaccesspointconfiguration_isauthenticationkindsupported_1988795581.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,23 @@ public bool IsAuthenticationKindSupported (Windows.Networking.NetworkOperators.T
1212

1313
## -description
1414

15+
Gets a value indicating whether the Wi-Fi adapter allows configuring the tethering hotspot with a specific authentication kind. Similar to [NetworkOperatorTetheringAccessPointConfiguration.IsAuthenticationKindSupported](./networkoperatortetheringaccesspointconfiguration_isauthenticationkindsupported_1988795581.md).
16+
1517
## -parameters
1618

1719
### -param authenticationKind
1820

21+
Specifies the authentication kind to query for.
22+
1923
## -returns
2024

25+
`true` if the authentication kind is supported; otherwise, `false`.
26+
2127
## -remarks
2228

2329
## -see-also
2430

2531
## -examples
2632

27-
33+
## -capabilities
34+
wiFiControl

windows.networking.networkoperators/networkoperatortetheringsessionaccesspointconfiguration_isauthenticationkindsupportedasync_453305428.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,23 @@ public Windows.Foundation.IAsyncOperation<bool> IsAuthenticationKindSupportedAsy
1212

1313
## -description
1414

15+
Asynchronously gets a value indicating whether the Wi-Fi adapter allows configuring the tethering hotspot with a specific authentication kind. Similar to [NetworkOperatorTetheringAccessPointConfiguration.IsAuthenticationKindSupportedAsync](./networkoperatortetheringaccesspointconfiguration_isauthenticationkindsupportedasync_453305428.md).
16+
1517
## -parameters
1618

1719
### -param authenticationKind
1820

21+
Specifies the authentication kind to query for.
22+
1923
## -returns
2024

25+
An asynchronous operation object which, when it completes, contains the value `true` if the authentication kind is supported; otherwise, `false`.
26+
2127
## -remarks
2228

2329
## -see-also
2430

2531
## -examples
2632

27-
33+
## -capabilities
34+
wiFiControl

windows.networking.networkoperators/networkoperatortetheringsessionaccesspointconfiguration_isbandsupported_675204954.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,23 @@ public bool IsBandSupported (Windows.Networking.NetworkOperators.TetheringWiFiBa
1212

1313
## -description
1414

15+
Gets a value indicating whether the Wi-Fi adapter allows configuring the tethering hotspot with a specific frequency band. Similar to [NetworkOperatorTetheringAccessPointConfiguration.IsBandSupported](./networkoperatortetheringaccesspointconfiguration_isbandsupported_675204954.md).
16+
1517
## -parameters
1618

1719
### -param band
1820

21+
Specifies the frequency band to query for.
22+
1923
## -returns
2024

25+
`true` if the frequency band is supported; otherwise, `false`.
26+
2127
## -remarks
2228

2329
## -see-also
2430

2531
## -examples
2632

27-
33+
## -capabilities
34+
wiFiControl

windows.networking.networkoperators/networkoperatortetheringsessionaccesspointconfiguration_isbandsupportedasync_854171434.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,23 @@ public Windows.Foundation.IAsyncOperation<bool> IsBandSupportedAsync (Windows.Ne
1212

1313
## -description
1414

15+
Asynchronously gets a value indicating whether the Wi-Fi adapter allows configuring the tethering hotspot with a specific frequency band. Similar to [NetworkOperatorTetheringAccessPointConfiguration.IsBandSupportedAsync](./networkoperatortetheringaccesspointconfiguration_isbandsupportedasync_854171434.md).
16+
1517
## -parameters
1618

1719
### -param band
1820

21+
Specifies the frequency band to query for.
22+
1923
## -returns
2024

25+
An asynchronous operation object which, when it completes, contains the value `true` if the frequency band is supported; otherwise, `false`.
26+
2127
## -remarks
2228

2329
## -see-also
2430

2531
## -examples
2632

27-
33+
## -capabilities
34+
wiFiControl

windows.networking.networkoperators/networkoperatortetheringsessionaccesspointconfiguration_networkoperatortetheringsessionaccesspointconfiguration_1221375020.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,13 @@ public NetworkOperatorTetheringSessionAccessPointConfiguration ();
1212

1313
## -description
1414

15+
Creates an instance of the [NetworkOperatorTetheringSessionAccessPointConfiguration](./networkoperatortetheringsessionaccesspointconfiguration.md).
16+
1517
## -remarks
1618

1719
## -see-also
1820

1921
## -examples
2022

21-
23+
## -capabilities
24+
wiFiControl

0 commit comments

Comments
 (0)