Bluetooth のデバイス機能を指定する方法

メモ詳細についてはWindows 10の「What's different in Windows 10」を参照してください。

 

パッケージ マニフェストは XML ドキュメントです。このドキュメントには、システムがアプリ アプリを展開、表示、または更新するために必要Windows ランタイム情報が含まれています。 この情報には、パッケージ ID、パッケージの依存関係、必要な機能、視覚要素、機能拡張ポイントが含まれています。 すべてのアプリ パッケージには、1 つのパッケージ マニフェストを含める必要があります。

パッケージ マニフェストの詳細については、「パッケージ マニフェストを手動で作成する 方法」を参照してください

Windows ランタイム (Rfcomm または Gatt API を介して) Bluetooth デバイスにアクセスするアプリには、マニフェストの [機能] ノードに特定の DeviceCapability データを含める必要があります。 このデータは、デバイスとその目的 (または関数) を識別します。 一部のデバイスには複数の機能がある場合があります。

Device Id 要素 は、デバイス識別子に対応します。 この要素は、Vendor Id (vid) Product Id (pid) の組み合わせを指定できます。または、製造元とモデルの組み合 わせを 指定 できます。または、ジェネリック文字列 ("any") を指定できます。 さらに、デバイス ID でベンダー ID (vid) と 製品 ID (pid) が指定されている場合は、省略可能なプロバイダー文字列 "usb" または "bluetooth" が含まれる場合があります。

Function Type 要素は 、デバイス関数を指定します。 この要素は、サービス名 (名前Bluetoothサービス ID (serviceId) の 1 を指定できます。

Bluetooth DeviceCapability Usage

デバイスBluetoothに関する重要な情報を指定するには、アプリ パッケージ マニフェストに特定のデバイス機能を含める必要があります。 必要な要素を階層順に次に示します。

<DeviceCapability>: name 属性は、Bluetooth RFCOMM デバイスにアクセスする場合は "bluetooth.rfcomm" にする必要があります。Bluetooth GATT デバイスにアクセスするには "bluetooth.genericAttributeProfile" である必要があります。

<デバイス>: Id 属性 には、ベンダー/製品 ID、製造元/モデルを指定するか、関数の種類に一致する任意のデバイスへのアクセスを許可する "任意" を指定する必要があります。

<関数>: Type 属性では 、サービス名またはサービス ID を指定できます。

メモデバイスのデバイス機能Bluetooth変更することはできませんMicrosoft Visual Studio。 ソリューション エクスプローラー で Package.appxmanifest ファイルを右クリックし、次に [OpenWith...]を選択してから、XML (テキスト) エディターを選択する必要があります。 ファイルはプレーン XML で開きます。

 

Rfcomm DeviceCapabilities の定義

次のレイアウトを使用して、RFCOMM 機能に関するアプリBluetooth説明します。

<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>

GenericAttributeProfile DeviceCapabilities の定義

次のレイアウトを使用して、アプリの GATT 機能Bluetooth説明します。

<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>

DeviceCapabilities の例を指定する方法

次のエントリは、デバイスに対して DeviceCapabilities を定義するためのさまざまな方法Bluetooth示しています。

次のスニペットは、ベンダー ID と製品 ID の組み合わせを使用して、Bluetooth RFCOMM デバイスDeviceCapabilities を、オプションのプロバイダーと共に識別します。

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

または、次のスニペットでは、完全な ID を使用して、Bluetooth RFCOMM デバイスの DeviceCapabilities を識別します。

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

次のスニペットは、製造元とモデルの組み合わせを使用Bluetooth GATT デバイスの DeviceCapabilities識別します。

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

RFCOMM Bluetoothのサポート

次の RFCOMM サービスは、名前の値を使用 してサポート されます。

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

次の RFCOMM サービスはサポートされていません。

  • サービス検出 (0x1000)
  • グループ記述子の参照 (0x1001)
  • PPP を使用した LAN アクセス (0x1102)
  • ダイヤルアップ ネットワーク (0x1103)
  • ヘッドセット (0x1108、0x1112)
  • コードレス テレフォニー (0x1109)
  • オーディオ ソース (0x110A) とシンク (0x110B)
  • A/V リモート コントロール (0x110C、0x110E、0x110F)
  • Intercom (0x1110)
  • FAX (0x1111)
  • WAP (0x1113、0x1114)
  • PANU (0x1115)
  • NAP (0x1116)
  • GN (0x1117)
  • ハンズフリー (0x111E、0x111F)
  • ヒューマン インターフェイス デバイス (0x1124)
  • HCR 印刷 (0x1126) とスキャン (0x1127)
  • 一般的な ISDN アクセス (0x1128)
  • SIM アクセス (0x112D)
  • ヘッドセット – HS (0x1131)
  • GNSS サーバー (0x1136)
  • PnP 情報 (0x1200)
  • 汎用ネットワーク (0x1201)
  • 汎用オーディオ (0x1203)
  • 汎用テレフォニー (0x1204)
  • UPnP (0x1205、0x1206)
  • ESDP UPnP IP (0x1300、0x1301、0x1302)
  • ビデオ ソース (0x1303) とシンク (0x1304)
  • ビデオ配信 (0x1305)
  • HDP ソース (0x1401) とシンク (0x1402)

GATT サービスBluetoothサポート

name 値を使用して、次の GATT サービス がサポート されます。

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

次の GATT サービスはサポートされていません。

  • ヒューマン インターフェイス デバイス (0x1812)