Bluetooth プロファイル ドライバーの概要
この記事では、Microsoft がワイヤレス Bluetooth プロトコルに対して提供するサポートについて説明します。 Bluetooth は、コンピュータ、モバイル、ハンドヘルド デバイス、マウス デバイス、キーボード、プリンタなどのさまざまなデバイスの無線接続を可能にする業界標準プロトコルです。 この記事では、Bluetooth 対応デバイス用の Bluetooth プロファイル ドライバーを開発する方法に関するガイドラインも示します。 Bluetooth プロトコルの詳細で入手できます Bluetooth Webサイト。
独立系ハードウェア ベンダー (IHV) は、Bluetooth 仕様で定義されているさまざまなプロトコルをサポートするために、Bluetooth プロファイル ドライバーを記述します。 Bluetooth プロファイル ドライバーは、Windows ドライバー モデル (WDM) アーキテクチャに従う必要があります。
Bluetooth プロトコルをサポートするために、Microsoft は次のようないくつかのドライバーとサポート ファイルを提供しています。
- BthPort.sys
- BthEnum.sys
- BthUsb.sys
- BthProps.cpl
Bluetooth ドライバー スタックには、プロファイル ドライバーがローカル システムとリモート Bluetooth デバイス間の同期接続指向 (SCO) リンクと論理リンク コントローラーと適応プロトコル (L2CAP) リンクにアクセスできるようにするデバイス ドライバー インターフェイス (DDI) が用意されています。
SCO
同期接続指向 (SCO) リンクは、2 つの Bluetooth デバイス間のポイントツーポイント接続です。 これらは主に、voiceなどの時間制限付き情報をサポートするために定義されています。
Windows Bluetooth ドライバー スタックには、SCO カーネル モード デバイス ドライバー インターフェイス (DDI) が用意されています。 これらのインターフェイスを使用すると、プロファイル ドライバーは、SCO の DDI を使用して SCO 接続を開く、更新する、閉じるだけでなく、開いている SCO 接続に対して読み取りおよび書き込み操作を実行できます。
SC の詳細については、次を参照してください リモートデバイスへのSCOクライアント接続の作成 and Bluetooth プロファイル ドライバーでの SCO 接続の受け入れ.
L2CAP と SDP
L2CAP は、非同期コネクションレス リンク (ACL) Bluetooth リンクをサポートするように設計されています。 Bluetooth ドライバー スタックは、接続指向サービスのサポートを提供します。 プロファイル ドライバーでは、Bluetooth L2CAP DDI を使用して L2CAP 接続を開く、更新する、閉じる、開いている L2CAP 接続に対する読み取りおよび書き込み操作を実行します。
サービス探索プロトコル (SDP) は、プロファイル ドライバーがサービスをアドバタイズしたり、管理するデバイスによって提供されるサービスを検出したりする方法を提供します。
SDP レコードは、複雑なバイト ストリームでアドバタイズされます。 プロファイル ドライバーは、SDP DDI を使用して SDP レコードを検索し、解析のためにより簡単に解釈できるツリー ベースの表現に変換できます。 プロファイル ドライバーは、SDP DDI を使用して、SDP レコードのツリーベースの表現を構築し、ストリームに変換してアドバタイズすることもできます。
L2CAP と SDP の詳細については、次を参照してください リモートデバイスに対する L2CAP クライアント接続の作成, Bluetooth プロファイル ドライバーでの L2CAP 接続の受け入れ と SDPサーバーとの通信.
Bluetooth ドライバー スタックの詳細については、次を参照してください Bluetoothドライバースタック.