Comment spécifier des fonctionnalités d’appareil pour Bluetooth

Remarque pour Windows 10, consultez Ce qui est différent dans Windows 10.

 

Le manifeste du package est un document XML qui contient les informations dont le système a besoin pour déployer, afficher ou mettre à jour une application d’applications Windows Runtime. Ces informations incluent l’identité du package, les dépendances de package, les fonctionnalités requises, les éléments visuels et les points d’extensibilité. Chaque package d’application doit inclure un manifeste de package.

Pour plus d’informations sur le manifeste du package, consultez Comment créer un manifeste de package manuellement.

Une application Windows Runtime qui accède à un appareil Bluetooth (via les API Rfcomm ou Gatt) doit inclure des données spécifiques DeviceCapability dans les fonctionnalités de nœud de son manifeste. Ces données identifient l’appareil et son objectif (ou fonction). Notez que certains appareils peuvent avoir plusieurs fonctions.

L’élément Device Id correspond à l’identificateur de l’appareil. Cet élément peut spécifier une combinaison Id de fournisseur (vid) et ID de produit (pid) ; ou, il peut spécifier une combinaison de fabricant et modèle; ou, il peut spécifier une chaîne générique (« any »). De plus, si l’ID d’appareil spécifie un id de fournisseur (vid) et ID de produit (pid), il peut contenir une chaîne de fournisseur facultative de « usb » ou « bluetooth ».

L’élément type de fonction spécifie la fonction d’appareil. Cet élément peut spécifier un de nom de service bluetooth (nom) ou id de service (serviceId).

Utilisation de DeviceCapability Bluetooth

Votre application Bluetooth doit inclure certaines fonctionnalités d’appareil dans son manifeste de package d’application pour spécifier des informations clés sur l’appareil. Voici les éléments requis dans l’ordre hiérarchique :

DeviceCapability: l’attribut Name doit être « bluetooth.rfcomm » pour accéder à un appareil RFCOMM Bluetooth ou « bluetooth.genericAttributeProfile » pour accéder à un appareil BLUETOOTH GATT.

<Appareil>: l’id de doit spécifier l’ID de fournisseur/produit, ou le fabricant/modèle, ou peut être « n’importe quel » pour autoriser l’accès à n’importe quel appareil qui correspond au type de fonction.

<function>: l’attribut Type peut spécifier le nom du service ou l’ID de service.

Remarque Vous ne pouvez pas modifier la fonctionnalité d’appareil Bluetooth dans Microsoft Visual Studio. Vous devez cliquer avec le bouton droit sur le fichier Package.appxmanifest dans l’Explorateur de solutions, puis sélectionner Ouvrir avec..., puis 'Éditeur XML (texte). Le fichier s’ouvre en XML brut.

 

Définition de Rfcomm DeviceCapabilities

Utilisez la disposition suivante pour décrire les fonctionnalités Bluetooth RFCOMM de votre application :

<m2:DeviceCapability Name="bluetooth.rfcomm">
  <m2:Device Id="vidpid:xxxx xxxx bluetooth">
    <m2:Function Type="serviceId:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"/>
    <m2:Function Type="name:xxxxx"/>
  </m2:Device>
<m2:/DeviceCapability>

Définition de GenericAttributeProfile DeviceCapabilities

Utilisez la disposition suivante pour décrire les fonctionnalités Bluetooth GATT de votre application :

<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
  <m2:Device Id="model:xxxx;xxxx">
    <m2:Function Type="serviceId:xxxxxxxx"/>
    <m2:Function Type="name:xxxxx"/>
  <m2:/Device>
<m2:/DeviceCapability>

Comment spécifier des exemples DeviceCapabilities

Les entrées suivantes illustrent différentes méthodes pour définir DeviceCapabilities pour un appareil Bluetooth.

L’extrait de code suivant identifie le DeviceCapabilities d’un appareil RFCOMM Bluetooth à l’aide de la combinaison id de fournisseur et id de produit, ainsi que le fournisseur facultatif :

<m2:DeviceCapability Name="bluetooth.rfcomm">
  <m2:Device Id="vidpid:0006 0001 bluetooth">
    <m2:Function Type="name:obexObjectPush"/>
  </m2:Device>
</m2:DeviceCapability>

Sinon, l’extrait de code suivant identifie l'DeviceCapabilities pour un appareil RFCOMM Bluetooth à l’aide de son ID complet.

<m2:DeviceCapability Name="bluetooth.rfcomm">
  <m2:Device Id="any">
    <m2:Function Type="name:AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE" />
  </m2:Device>
</m2:DeviceCapability>

L’extrait de code suivant identifie le DeviceCapabilities pour un appareil Bluetooth GATT à l’aide de la combinaison fabricant et modèle :

<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
  <m2:Device Id="any">
    <m2:Function Type="name:heartRate" />
  </m2:Device>
</m2:DeviceCapability>

Prise en charge des services RFCOMM Bluetooth

Les services RFCOMM suivants sont pris en charge via la valeur nom :

  • name :serialPort
  • name :obexObjectPush
  • name :obexFileTransfer
  • name :phoneBookAccessPce
  • name :phoneBookAccessPse
  • name :genericFileTransfer

Les services RFCOMM suivants ne sont pas pris en charge :

  • Découverte de services (0x1000)
  • Parcourir le descripteur de groupe (0x1001)
  • Accès LAN à l’aide de PPP (0x1102)
  • Casque (0x1108, 0x1112)
  • Téléphonie sans cordon (0x1109)
  • Source audio (0x110A) et récepteur (0x110B)
  • Intercom (0x1110)
  • Télécopie (0x1111)
  • WAP (0x1113, 0x1114)
  • NAP (0x1116)
  • GN (0x1117)
  • Hcr Print (0x1126) et Scan (0x1127)
  • Accès ISDN commun (0x1128)
  • Accès SIM (0x112D)
  • Casque – HS (0x1131)
  • Serveur SCSI (0x1136)
  • Informations PnP (0x1200)
  • Mise en réseau générique (0x1201)
  • Audio générique (0x1203)
  • Téléphonie générique (0x1204)
  • UPnP (0x1205, 0x1206)
  • IP UPnP ESDP (0x1300, 0x1301, 0x1302)
  • Source vidéo (0x1303) et récepteur (0x1304)
  • Source HDP (0x1401) et récepteur (0x1402)

Prise en charge des services Bluetooth GATT

Les services GATT suivants sont pris en charge par le biais de la valeur nom :

  • name :battery
  • name :bloodPressure
  • name :cyclingSpeedAndCadence
  • name :genericAccess
  • name :genericAttribute
  • name :glucose
  • name :healthThermometer
  • name :heartRate
  • name :runningSpeedAndCadence

Le service GATT suivant n’est pas pris en charge :

  • Appareil d’interface humaine (0x1812)