Partager via


WiFiDirectDevice Classe

Définition

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
Object Platform::Object IInspectable WiFiDirectDevice
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.

S’applique à

Voir aussi