次の方法で共有


メッセージのBluetoothとWM_DEVICECHANGE

Bluetoothには、デバイスBluetooth状態が変更されたときに開発者がメッセージを取得できるようにする特定の WM_DEVICECHANGE メッセージが含まれています。 このトピックでは、Bluetooth固有の WM_DEVICECHANGE メッセージを受信し、Bluetooth固有のメッセージを一覧表示する方法について説明します。

Bluetooth固有のWM_DEVICECHANGE メッセージの受信

WM_DEVICECHANGE メッセージを受信するには、まずローカル 無線へのハンドルを開く必要があります。 これを行うには、次のいずれかの方法を使用します。

Bluetooth無線ハンドルが開いたら、RegisterDeviceNotification 関数を呼び出し、DBT_DEVTYP_HANDLE を devicetype として使用してハンドルの通知を登録します。 登録すると、次の GUID が送信され、DEV_BROADCAST_HANDLE::dbch_data メンバーが関連付けられたバッファーになります。

Bluetooth固有のメッセージ

次の表に、Bluetooth固有の WM_DEVICECHANGE メッセージを示します。

GUID バッファ 形容
GUID_BLUETOOTH_HCI_EVENT BTH_HCI_EVENT_INFO このメッセージは、リモート Bluetooth デバイスが ACL レベルで接続または切断されたときに送信されます。
GUID_BLUETOOTH_L2CAP_EVENT BTH_L2CAP_EVENT_INFO このメッセージは、ローカル 無線とリモート Bluetooth デバイスの間の L2CAP チャネルが確立または終了されたときに送信されます。 RFCOMM などのマルチプレクサーである L2CAP チャネルの場合、このメッセージは、基になるチャネルが確立されたときにのみ送信され、RFCOMM チャネルなどの各多重化チャネルが確立または終了された場合には送信されません。
GUID_BLUETOOTH_PIN_REQUEST 適用されません。 このメッセージは、アプリケーションで無視する必要があります。 アプリケーションが PIN 要求を受信する必要がある場合は、BluetoothRegisterForAuthentication 関数を使用する必要があります。
GUID_BLUETOOTH_RADIO_IN_RANGE BTH_RADIO_IN_RANGE このメッセージは、リモート Bluetooth デバイスのいずれかの属性が変更されたときに送信されます。デバイスが検出されました。デバイスのクラス、名前、接続状態、またはデバイスの記憶状態です。 このメッセージは、これらの属性が設定またはクリアされるときにも送信されます。
GUID_BLUETOOTH_RADIO_OUT_OF_RANGE BLUETOOTH_ADDRESS このメッセージは、前回の問い合わせが完了した後に、以前に検出されたデバイスが見つからなかった場合に送信されます。 このメッセージは、記憶されているデバイスには送信されません。 BTH_ADDRESS 構造体は、見つからなかったデバイスのアドレスです。

 

BluetoothFindFirstRadio

BluetoothFindNextRadio

BluetoothFindRadioClose

RegisterDeviceNotification

SetupDiDestroyDeviceInfoList

SetupDiEnumDeviceInterfaces

SetupDiGetClassDevs

BLUETOOTH_ADDRESS

BTH_HCI_EVENT_INFO

BTH_L2CAP_EVENT_INFO

BTH_RADIO_IN_RANGE

DEV_BROADCAST_HANDLE

WM_DEVICECHANGE