WiFiDirectDevice Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Gère les connexions aux appareils Wi-Fi Direct associés.
public ref class WiFiDirectDevice sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class WiFiDirectDevice final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class WiFiDirectDevice : System.IDisposable
Public NotInheritable Class WiFiDirectDevice
Implements IDisposable
- Héritage
- Attributs
- Implémente
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
Windows.Devices.WiFiDirect.WiFiDirectDevice wfdDevice;
private async System.Threading.Tasks.Task<String> Connect(string deviceId)
{
string result = "";
try
{
// No device Id specified.
if (String.IsNullOrEmpty(deviceId)) { return "Please specify a Wi- Fi Direct device Id."; }
// Connect to the selected Wi-Fi Direct device.
wfdDevice = await Windows.Devices.WiFiDirect.WiFiDirectDevice.FromIdAsync(deviceId);
if (wfdDevice == null)
{
result = "Connection to " + deviceId + " failed.";
}
// Register for connection status change notification.
wfdDevice.ConnectionStatusChanged += new TypedEventHandler<Windows.Devices.WiFiDirect.WiFiDirectDevice, object>(OnConnectionChanged);
// Get the EndpointPair information.
var EndpointPairCollection = wfdDevice.GetConnectionEndpointPairs();
if (EndpointPairCollection.Count > 0)
{
var endpointPair = EndpointPairCollection[0];
result = "Local IP address " + endpointPair.LocalHostName.ToString() +
" connected to remote IP address " + endpointPair.RemoteHostName.ToString();
}
else
{
result = "Connection to " + deviceId + " failed.";
}
}
catch (Exception err)
{
// Handle error.
result = "Error occurred: " + err.Message;
}
return result;
}
private void OnConnectionChanged(object sender, object arg)
{
Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus status =
(Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus)arg;
if (status == Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus.Connected)
{
// Connection successful.
}
else
{
// Disconnected.
Disconnect();
}
}
private void Disconnect()
{
if (wfdDevice != null)
{
wfdDevice.Dispose();
}
}
Remarques
Vous pouvez utiliser la classe WiFiDirectDevice pour établir une connexion de socket avec d’autres appareils qui ont un appareil compatible Wi-Fi Direct (WFD). Vous pouvez appeler la méthode GetDeviceSelector pour obtenir l’identificateur d’appareil d’un appareil Wi-Fi Direct. Une fois que vous avez une référence à un WiFiDirectDevice sur votre ordinateur, vous pouvez appeler la méthode GetConnectionEndpointPairs pour obtenir un objet EndpointPair et établir une connexion de socket à l’aide de l’API Windows.Networking.Sockets .
Vous pouvez ajouter un gestionnaire pour que l’événement ConnectionStatusChanged soit averti lorsque la connexion a été établie ou déconnectée.
Une seule application peut être connectée à un appareil Wi-Fi Direct à la fois.
Vous devez activer la fonctionnalité De proximité pour communiquer avec Wi-Fi appareils Direct.
Propriétés
ConnectionStatus |
Obtient la status de connexion pour l’appareil WiFi-Direct. |
DeviceId |
Obtient l’ID DeviceInformation de l’appareil Wi-Fi Direct. |
Méthodes
Close() |
Fermez la connexion d’appareil directe Wi-Fi active. |
Dispose() |
Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées. |
FromIdAsync(String) |
Crée un instance de la classe WiFiDirectDevice pour l’ID d’interface d’appareil spécifié. |
FromIdAsync(String, WiFiDirectConnectionParameters) |
Crée une instance de la classe WiFiDirectDevice pour l’ID d’interface d’appareil spécifié avec des paramètres de connexion spécifiques. |
GetConnectionEndpointPairs() |
Obtient une collection d’adresses réseau pour le Wi-Fi appareil direct en tant que paires de points de terminaison. |
GetDeviceSelector() |
Retourne la chaîne de sélection de classe que vous pouvez utiliser pour énumérer Wi-Fi appareils Direct. |
GetDeviceSelector(WiFiDirectDeviceSelectorType) |
Retourne la chaîne de sélection de classe que vous pouvez utiliser pour énumérer Wi-Fi appareils Direct pour un type de sélecteur d’appareil direct Wi-Fi spécifique. |
Événements
ConnectionStatusChanged |
Se produit lorsqu’une connexion d’appareil direct Wi-Fi est connectée ou déconnectée. |