次の方法で共有


Bluetooth IOCTL

Bluetooth ドライバー スタックには、次に関する情報を収集するためのいくつかの IOCTL がプロファイル ドライバーに用意されています。

  • ローカル Bluetooth 無線およびシステム。

  • リモート Bluetooth デバイス。

  • プラグ アンド プレイ (PnP) マネージャーがプロファイル ドライバーを読み込む原因となったデバイス。

ローカルの Bluetooth 無線とシステムに関する情報を収集するために、プロファイル ドライバーは次を使用します IOCTL_BTH_GET_LOCAL_INFO. IOCTL が返されると、 AssociatedIrp.SystemBuffer メンバーには、へのポインタが含まれます BTH_LOCAL_RADIO_INFO この構造体には、ローカル無線を検出して接続できるかどうかを示すフラグなど、ローカル Bluetooth 無線とシステムに関する情報が含まれています。 返される BTH_LOCAL_RADIO_INFO 構造体には、 BTH_DEVICE_INFO システム固有の情報が含まれる構造、そして BTH_RADIO_INFO ローカル無線固有の情報を含む構造体。

特定のリモート Bluetooth デバイスに関する情報を収集するために、プロファイル ドライバーは次を使用します IOCTL_BTH_GET_RADIO_INFO. IOCTL が返されると AssociatedIrp.SystemBuffer このメンバーには、リモート無線を検出して接続できるかどうかなど、特定のリモート無線に関する情報を提供する BTH_RADIO_INFO 構造体へのポインタが含まれます。

検出されたすべてのリモート無線に関する情報を収集するために、プロファイル ドライバーは次を使用します IOCTL_BTH_GET_DEVICE_INFO. IOCTL が返されると、 AssociatedIrp.SystemBuffer メンバーには、へのポインタが含まれます BTH_DEVICE_INFO_LIST BTH_DEVICE_INFO 構造体の配列が含まれる構造体。 BTH_DEVICE_INFO_LIST構造体には、検出されたリモート 無線ごとに 1 つの配列エントリが含まれています。 ユーザーモード BluetoothGetDeviceInfo API は、この機能を使用してすべてのリモート無線に関する情報を返します。

PnP マネージャーによるリモート デバイスの読み込みの原因となったリモート デバイスに関する情報を収集するために、プロファイル ドライバーは次を使用します IOCTL_INTERNAL_BTHENUM_GET_DEVINFO. IOCTL が返されると、 AssociatedIrp.SystemBuffer このメンバには、Bluetooth デバイス アドレス、デバイス状態、デバイス クラス (CoD) 設定など、リモート デバイスに関する情報が含まれる BTH_DEVICE_INFO 構造体へのポインタが含まれています。

プロファイルドライバーが使用するのは、 IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO PnP マネージャーがプロファイル ドライバーを読み込む原因となった、基になるデバイスとサービスに関する情報を取得します。 IOCTL が返されると、 AssociatedIrp.SystemBuffer メンバーには、へのポインタが含まれています BTH_ENUMERATOR_INFO ポート番号、デバイス フラグ、ベンダー ID、製品 ID など、デバイスに関するベンダー提供の情報を含む構造。

Bluetooth IOCTL および BRB の使用の詳細については、「」を参照してください BRB の構築および送信.