Windows.Devices.WiFiDirect.Services Espace de noms

Important

Le Windows. L’espace de noms Devices.WiFiDirect.Services est déconseillé.

Fournit une prise en charge de l’implémentation de vos propres services direct Wi-Fi.

Wi-Fi Direct est une technologie qui permet à deux appareils de se connecter directement les uns aux autres à l’aide du Wi-Fi, sans avoir à joindre un réseau existant via un point d’accès. Wi-Fi Direct Services sont la façon dont un appareil ( annonceur de service) offre des fonctionnalités à un autre appareil ( un demandeur de services) via une connexion directe Wi-Fi. Un demandeur utilise un service publié en établissant une session. Un appareil donné peut publier plusieurs services et rechercher plusieurs services. Les rôles Demandeur et Annonceur sont définis en ce qui concerne la façon dont les appareils interagissent dans une session particulière.

Bien que la spécification Wi-Fi Direct Services définit plusieurs services standard, cette API prend uniquement en charge le service Enable . Elle ne prend pas en charge les fonctionnalités d’envoi, de lecture, d’impression ou d’affichage .

Classes

Nom Description
WiFiDirectService

Important

Le Windows. L’espace de noms Devices.WiFiDirect.Services est déconseillé.

Représente un service direct Wi-Fi. Cette classe est utilisée par du code sur un appareil qui cherche à utiliser un service direct Wi-Fi, pour établir une session de service direct Wi-Fi avec le fournisseur de services.

WiFiDirectServiceAdvertiser

Deprecated. Représente un annonceur de service. Cette classe est utilisée par du code sur un appareil qui publie Wi-Fi Direct Services, pour publier le service.

WiFiDirectServiceAutoAcceptSessionConnectedEventArgs

Deprecated. Retourné lorsqu’un événement WiFiDirectServiceAdvertiser.AutoAcceptSessionConnected est déclenché.

WiFiDirectServiceProvisioningInfo

Deprecated. Contient des informations d’approvisionnement sur un service direct Wi-Fi.

WiFiDirectServiceRemotePortAddedEventArgs

Deprecated. Retourné lorsqu’un événement WiFiDirectServiceSession.RemotePortAdded est déclenché. Votre gestionnaire d’événements doit utiliser ces informations pour établir de nouvelles connexions de socket au nouveau port.

WiFiDirectServiceSession

Deprecated. Représente une session Wi-Fi Direct Services (WFDS).

WiFiDirectServiceSessionDeferredEventArgs

Deprecated. Retourné lorsqu’un événement WiFiDirectService.SessionDeferred est déclenché.

WiFiDirectServiceSessionRequest

Deprecated. Décrit une demande de session de service direct Wi-Fi.

WiFiDirectServiceSessionRequestedEventArgs

Deprecated. Retourné lorsqu’un événement WiFiDirectServiceAdvertiser.SessionRequested est déclenché.

Énumérations

Nom Description
WiFiDirectServiceAdvertisementStatus

Deprecated. Valeurs utilisées pour WiFiDirectServiceAdvertiser.AdvertisementStatus.

WiFiDirectServiceConfigurationMethod

Deprecated. Valeurs décrivant la façon dont la configuration du service est effectuée lorsqu’une session est établie. En règle générale, aucune entrée n’est requise, ou un appareil de la session affiche un code confidentiel et l’autre appareil exige que le code confidentiel soit entré.

WiFiDirectServiceError

Deprecated. Valeurs utilisées pour la propriété WiFiDirectServiceAdvertiser.ServiceError .

WiFiDirectServiceIPProtocol

Deprecated. Définit des constantes qui spécifient le protocole IP du nouveau port lorsqu’un événement WiFiDirectServiceSession.RemotePortAdded est déclenché.

WiFiDirectServiceSessionErrorStatus

Deprecated. Valeurs utilisées dans la propriété WiFiDirectServiceSession.ErrorStatus .

WiFiDirectServiceSessionStatus

Deprecated. Valeurs utilisées pour décrire l’état d’une session de service direct Wi-Fi.

WiFiDirectServiceStatus

Deprecated. Valeurs utilisées pour décrire l’état du service.

Remarques

Définition du propriétaire du groupe (GO)

Vous pouvez être en mesure d’exercer un contrôle précis sur les membres d’un groupe P2P (Peer to Peer) est le propriétaire du groupe (GO). Votre code doit utiliser la propriété WiFiDirectAdvertiser.PreferGroupOwnerMode pour spécifier qu’un annonceur donné souhaite être go. Toutefois, si deux appareils ont été précédemment jumelés via Wi-Fi Direct, le Wi-Fi rôles directs dans le profil enregistré à partir de ce jumelage remplacent la préférence spécifiée par l’annonceur. Pour garantir qu’un appareil donné dans un appairage P2P sera go, vous devez d’abord supprimer toutes les données de jumelage existantes, à l’aide de méthodes fournies par le Windows. Devices.Enumeration espace de noms.

Notez qu’un profil d’appairage associe deux adresses MAC. Par conséquent, le fait de supprimer deux appareils s’applique à toutes les applications qui utilisent Wi-Fi Direct entre ces deux appareils. Votre application ne doit jamais supposer qu’un profil de jumelage existe ou qu’il n’a pas été modifié par une autre application, même s’il a associé un appareil par le passé. Vous devez obtenir les informations de profil actuelles à partir du profil actuel plutôt que de stocker les informations de profil et en supposant qu’elles sont toujours vraies à une date ultérieure. Une autre application a peut-être modifié le profil de jumelage dans l’intermédiaire.

Le code suivant recherche n’importe quel profil d’appairage direct Wi-Fi entre l’appareil local et un autre appareil, et désactive les deux appareils. Une fois que ce code a correctement désapprouvé les deux appareils, le jumelage suivant obéit à la valeur WiFiDirectAdvertiser.PreferGroupOwnerMode active au moment du jumelage.

using Windows.Devices.Enumeration;

private async void Unpair_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
    if (DiscoveredServices.Items.Count > 0)
    {
        DiscoveredDeviceWrapper service = 
            (DiscoveredDeviceWrapper)DiscoveredServices.Items[DiscoveredServices.SelectedIndex];

        String[] aepId = service.DeviceInfo.Id.Split('#');
        String deviceSelector = "System.Devices.DeviceInstanceId:=\"SWD\\WiFiDirect\\" + aepId[1] + "\"";

        // Check if device is paired
        DeviceInformationCollection pairedDeviceCollection = 
            await DeviceInformation.FindAllAsync(deviceSelector, null, DeviceInformationKind.DeviceInterface);

        if (pairedDeviceCollection.Count > 0)
        {
            try
            {
                DeviceInformation devInfo = pairedDeviceCollection[0];
                await devInfo.Pairing.UnpairAsync();
                MainPage.Current.NotifyUser("UnpairAsync succeeded", NotifyType.StatusMessage);
            }

            catch (Exception ex)
            {
                MainPage.Current.NotifyUser("UnpairAsync failed: " + ex.Message, NotifyType.ErrorMessage);
            }
        }
    }
}

Voir aussi