次の方法で共有


Bluetooth デバイスのインストール

重要

このトピックはプログラマー向けです。 Bluetooth デバイスのインストールで問題が発生している場合は、次を参照してください Windows での Bluetooth デバイスのペアリング

Bluetooth プロファイル ドライバーには、次の 2 つのインストールの種類があります。

  • クライアント側の設置 リモート デバイスの場合、リモート デバイスがサービスをアドバタイズし、コンピューターがそれに接続します。 たとえば、マウス、キーボード、プリンターなどです。
  • サーバーサイドのインストール ここでは、コンピュータがサービスをアドバタイズし、リモート デバイスがコンピュータに接続してそれらのサービスを使用できます。 たとえば、ベンダーは、サーバー側のインストールを作成して、モバイル デバイスがコンピューターに接続されているプリンターに印刷できるようにすることができます。

これら 2 つのインストールの種類には、異なるインストール手順が必要です。

クライアント側プロファイル ドライバーのインストール

Bluetooth 対応デバイスを使用するユーザーは、コンピューターの範囲内にデバイスを取り込み、クライアント側プロファイル ドライバーの次のインストール シーケンスを使用して、コンピューターからリモート デバイスへの接続を開始します。

  1. 選択する Bluetooth デバイスを追加するコントロールパネル コンピュータの範囲内のすべてのデバイスを検索します。
  2. ペアリングするデバイスを選択します。
  3. デバイスをローカル 無線とペアリングします。これは PIN 交換を伴う場合と含まれていない場合があります。
  4. ローカル 無線はリモート デバイスでサポートされるサービスを識別するために SDP 問い合わせを発行します。
  5. その 新しいハードウェアの発見ウィザード は、ローカル ハード ディスク ドライブおよび Windows Update 上で適切なドライバーを検索します。
  6. もし 新しいハードウェアの発見ウィザード デバイスに適切なドライバーが見つからない場合は、プロファイル ドライバーのデバイス セットアップ情報ファイル (INF ファイル) を含むプロファイル ドライバーのインストール メディアを挿入するようにユーザーに求められます。

サーバー側プロファイル ドライバーのインストール

Bluetooth ドライバー スタックは、Bluetooth SIG で定義されているサービス GUID と、Bluetooth SIG で定義されていないカスタム GUID をサポートします。

Note

その guidgen.exe Microsoft Windows SDK に付属のツールを使用してカスタム GUID を作成できます

リモート Bluetooth デバイスで使用できるコンピューター機能を公開するには、ユーザー モードのインストール アプリケーションを記述する必要があります。

インストール アプリケーションは、公開する機能のサービス GUID を作成するために、Bluetooth ドライバー スタックと通信する必要があります。 ベンダーは、アプリケーションとデバイス インストール INF ファイルでサービス GUID を指定します。

インストール アプリケーションはユーザーモード API を呼び出す必要があります Bluetooth設定ローカルサービス情報. アプリケーションがこの API を呼び出すには、アプリケーションにStandard Edition_LOAD_DRIVER_NAMEセキュリティ特権が必要です。 次のコード例は、この特権を取得する方法を示しています。 注記 この例ではエラー処理を示していません。

HANDLE procToken;
LUID luid;
TOKEN_PRIVILEGES tp;

OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &procToken);

LookupPrivilegeValue(NULL, SE_LOAD_DRIVER_NAME, &luid);

Tp.PrivilegeCount = 1;
Tp.privileges[0].Luid = luid;
Tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(procToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), (PTOKEN_PRIVILEGES) NULL, (PDWORD)NULL)

プロファイル ドライバー INF ファイル

プロファイル ドライバーの INF ファイルには、クライアント側インストール用の Bluetooth デバイスに関する情報が含まれています。 サーバー側インストールの場合、INF ファイルは、インストール アプリケーションによって作成されたサービス GUID に対応するデバイス ID を指定します。 すべての Bluetooth デバイスは以下のメンバーです Bluetooth 授業。 Bluetooth クラス インストーラ (Bthci.dll) プロファイル ドライバのインストールに役立ちます。

INF ファイルの作成と配布、およびドライバーのインストールの詳細については、次を参照してください INF ファイルを作成するINF ファイルのセクションおよびディレクティブ.

プラグ アンド プレイ IDs

Bluetooth ドライバー スタックは、次のテンプレートに従ってハードウェア ID を生成します。

  • BTHENUM\{ ServiceGUID}_VID& nnnnnnnn
  • BTHENUM\{ ServiceGUID}_VID& nnnnnnnn_PID& nnnn
  • BTHENUM\{ ServiceGUID}_LOCALMFG& nnnn

Bluetooth ドライバー スタックは、以下のテンプレートに従って互換性のある ID を生成します

  • BTHENUM\{ ServiceGUID}

ServiceGUID Bluetooth 仕様で定義されているように、128 ビット GUID に拡張された 16 ビット GUID です。 たとえば、{00001124-0000-1000-8000-00805F9B34FB} は HID デバイスに対応します。

  • に続く8桁の数字 VID& はベンダーIDコードに対応する。
  • 続く4桁は PID& プロダクトIDコードに対応します。
  • 続く4桁は LOCALMFG& ローカルの Bluetooth ラジオのメーカーに対応します。
  • VID/PID タグと LOCALMFG タグは互いに独立しています。

最も一般的なデバイス ID は次のとおりです ServiceGUID それだけで。 次に例を示します。

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}

Bluetooth ドライバー スタックは、リモート デバイスと INF ファイルの両方でプラグ アンド プレイ ID を使用して、リモート デバイスの特定のリリースでのみ実行するようにプロファイル ドライバーとソフトウェアを読み込むよう制限できます。 Bluetooth ドライバー スタックは、デバイスが SDP を使用してスタックで検出できるプラグ アンド プレイ ID を公開する場合にのみ、VID/PID ペアを生成します。 次に例を示します。

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_VID& nnnnnnnn_PID& nnnn

Bluetooth ドライバー スタックは、INF ファイルのデバイス ID に LOCALMFG タグを指定することで、プロファイル ドライバーとソフトウェアを読み込んで特定のローカル Bluetooth 無線でのみ実行するように制限できます。 次に例を示します。

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_LOCALMFG& nnnn