Jumeler des appareils
Cette rubrique explique comment associer des appareils à l’aide de l’espace de noms Windows.Devices.Enumeration .
API importantes
Appairage automatique
Parfois, vous souhaitez utiliser un appareil dans votre application, mais ne vous souciez pas si l’appareil est associé ou non. Vous souhaitez simplement pouvoir utiliser les fonctionnalités associées à un appareil. Par exemple, si votre application souhaite simplement capturer une image à partir d’une webcam, vous n’êtes pas nécessairement intéressé par l’appareil lui-même, juste la capture d’image. S’il existe des API d’appareil disponibles pour l’appareil qui vous intéresse, ce scénario relève du jumelage automatique.
Dans ce cas, vous utilisez simplement les API associées à l’appareil, en effectuant les appels si nécessaire et en faisant confiance au système pour gérer tout jumelage qui peut être nécessaire. Certains appareils n’ont pas besoin d’être jumelés pour que vous utilisiez leurs fonctionnalités. Si l’appareil doit être jumelé, les API de l’appareil gèrent l’action de jumelage en arrière-plan afin que vous n’ayez pas besoin d’intégrer cette fonctionnalité dans votre application. Votre application n’aura aucune connaissance de savoir si un appareil donné est associé ou doit l’être, mais vous serez toujours en mesure d’accéder à l’appareil et d’utiliser ses fonctionnalités.
Appairage de base
Le jumelage de base est le moment où votre application utilise les API Windows.Devices.Enumeration pour tenter de coupler l’appareil. Dans ce scénario, vous laissez Windows tenter le processus de jumelage et le gérer. Si une interaction utilisateur est nécessaire, elle sera gérée par Windows. Vous utiliseriez le jumelage de base si vous devez associer un appareil et qu’il n’existe pas d’API d’appareil appropriée qui tentera le jumelage automatique. Vous voulez simplement être en mesure d’utiliser l’appareil et devez d’abord l’associer.
Pour tenter d’effectuer un jumelage de base, vous devez d’abord obtenir l’objet DeviceInformation pour l’appareil qui vous intéresse. Une fois cet objet reçu, vous allez interagir avec la propriété DeviceInformation.Pairing, qui est un objet DeviceInformationPairing. Pour tenter de coupler, appelez simplement DeviceInformationPairing.PairAsync. Vous devrez attendre le résultat afin de donner à votre application le temps nécessaire pour tenter d’effectuer l’action de jumelage. Le résultat de l’action de jumelage est retourné, et tant qu’aucune erreur n’est retournée, l’appareil est associé.
Si vous utilisez le jumelage de base, vous avez également accès à des informations supplémentaires sur l’état de jumelage de l’appareil. Par exemple, vous connaissez l’état du jumelage (IsPaired) et indiquez si l’appareil peut associer (CanPair). Ces deux propriétés sont l’objet DeviceInformationPairing . Si vous utilisez le jumelage automatique, vous n’avez peut-être pas accès à ces informations, sauf si vous obtenez les objets DeviceInformation pertinents.
Appairage personnalisé
Le jumelage personnalisé permet à votre application de participer au processus de jumelage. Cela permet à votre application de spécifier les DevicePairingKinds pris en charge pour le processus de jumelage. Vous serez également responsable de la création de votre propre interface utilisateur pour interagir avec l’utilisateur en fonction des besoins. Utilisez le jumelage personnalisé lorsque vous souhaitez que votre application ait un peu plus d’influence sur la façon dont le processus de jumelage se poursuit ou pour afficher votre propre interface utilisateur de jumelage.
Pour implémenter un jumelage personnalisé, vous devez obtenir l’objet DeviceInformation pour l’appareil qui vous intéresse, comme avec le jumelage de base. Toutefois, la propriété spécifique qui vous intéresse est DeviceInformation.Pairing.Custom. Cela vous donnera un objet DeviceInformationCustomPairing. Toutes les méthodes DeviceInformationCustomPairing.PairAsync vous obligent à inclure un paramètre DevicePairingKinds. Cela indique les actions que l’utilisateur devra effectuer pour tenter de coupler l’appareil. Consultez la page de référence DevicePairingKinds pour plus d’informations sur les différents types et les actions que l’utilisateur devra effectuer. Tout comme avec le jumelage de base, vous devez attendre le résultat afin de donner à votre application le temps de tenter d’effectuer l’action de jumelage. Le résultat de l’action de jumelage est retourné, et tant qu’aucune erreur n’est retournée, l’appareil est associé.
Pour prendre en charge le jumelage personnalisé, vous devez créer un gestionnaire pour l’événement PairingRequested . Ce gestionnaire doit s’assurer de prendre en compte tous les différents DevicePairingKinds susceptibles d’être utilisés dans un scénario de jumelage personnalisé. L’action appropriée à entreprendre dépend des devicePairingKinds fournis dans le cadre des arguments d’événement.
Il est important de savoir que le jumelage personnalisé est toujours une opération au niveau du système. En raison de cela, lorsque vous utilisez le Bureau ou Windows Phone, une boîte de dialogue système s’affiche toujours à l’utilisateur lors du jumelage. Cela est dû au fait que ces deux plateformes disposent d’une expérience utilisateur qui nécessite le consentement de l’utilisateur. Étant donné que cette boîte de dialogue est générée automatiquement, vous n’aurez pas besoin de créer votre propre boîte de dialogue lorsque vous optez pour un DevicePairingKinds de ConfirmOnly lors de l’exploitation sur ces plateformes. Pour les autres DevicePairingKinds, vous devez effectuer une gestion spéciale en fonction de la valeur DevicePairingKinds spécifique. Consultez l’exemple pour obtenir des exemples de gestion des paires personnalisées pour différentes valeurs DevicePairingKinds .
À compter de Windows 10, version 1903, un nouveau DevicePairingKinds est pris en charge, ProvidePasswordCredential. Cette valeur signifie que l’application doit demander un nom d’utilisateur et un mot de passe à l’utilisateur pour s’authentifier auprès de l’appareil jumelé. Pour gérer ce cas, appelez la méthode AcceptWithPasswordCredential des arguments d’événement du gestionnaire d’événements PairingRequested pour accepter le jumelage. Transmettez un objet PasswordCredential qui encapsule le nom d’utilisateur et le mot de passe en tant que paramètre. Notez que le nom d’utilisateur et le mot de passe de l’appareil distant sont distincts et souvent pas identiques aux informations d’identification de l’utilisateur connecté localement.
Annulation dupairing
La suppression d’un appareil n’est pertinente que dans les scénarios de jumelage de base ou personnalisés décrits ci-dessus. Si vous utilisez le jumelage automatique, votre application reste inconsciente de l’état de jumelage de l’appareil et il n’est pas nécessaire de le supprimer. Si vous choisissez de supprimer un appareil, le processus est identique si vous implémentez un jumelage de base ou personnalisé. Cela est dû au fait qu’il n’est pas nécessaire de fournir des informations supplémentaires ou d’interagir dans le processus de non-pair.
La première étape pour annuler lepair d’un appareil consiste à obtenir l’objet DeviceInformation pour l’appareil que vous souhaitez annuler. Vous devez ensuite récupérer la propriété DeviceInformation.Pairing et appeler DeviceInformationPairing.UnpairAsync. Tout comme avec le jumelage, vous voudrez attendre le résultat. Le résultat de l’action d’annulation est retourné, et tant qu’aucune erreur n’est retournée, l’appareil est non apparié.
Exemple
Pour obtenir un exemple de travail, consultez l’exemple d’énumération et de jumelage d’appareils sur GitHub.