メッセージのBluetoothとWM_DEVICECHANGE
Bluetoothには、デバイスBluetooth状態が変更されたときに開発者がメッセージを取得できるようにする特定の WM_DEVICECHANGE メッセージが含まれています。 このトピックでは、Bluetooth固有の WM_DEVICECHANGE メッセージを受信し、Bluetooth固有のメッセージを一覧表示する方法について説明します。
Bluetooth固有のWM_DEVICECHANGE メッセージの受信
WM_DEVICECHANGE メッセージを受信するには、まずローカル 無線へのハンドルを開く必要があります。 これを行うには、次のいずれかの方法を使用します。
- SetupDiGetClassDevs 関数を使用するには、次のパラメーターを指定します。(GUID_BTHPORT_DEVICE_INTERFACE、...、DIGCF_PRESENT |DIGCF_DEVICEINTERFACE)、SetupDiEnumDeviceInterfaces、SetupDiGetDeviceInterfaceDetail、createFile、および SetupDiDestroyDeviceInfoList 関数を使用します。
- BluetoothFindFirstRadio、BluetoothFindNextRadio、および BluetoothFindRadioClose 関数を使用します。
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 構造体は、見つからなかったデバイスのアドレスです。 |
関連トピック
-
RegisterDeviceNotificationの
-
SetupDiDestroyDeviceInfoList の
-
SetupDiEnumDeviceInterfaces の
-
SetupDiGetClassDevs の