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要求を受信する必要がある場合は、Bluetoo hRegisterForAuthentication関数を使用する必要があります。 |
GUID_BLUETOOTH_RADIO_IN_RANGE | BTH_RADIO_IN_RANGE | このメッセージは、リモートBluetoothデバイスの次の属性のいずれかが変更されたときに送信されます。デバイスが検出された、デバイスのクラス、名前、接続状態、またはデバイスの記憶状態。 このメッセージは、これらの属性が設定またはクリアされたときにも送信されます。 |
GUID_BLUETOOTH_RADIO_OUT_OF_RANGE | BLUETOOTH_アドレス | このメッセージは、前回の照会の完了後に検出されたデバイスが見つからない場合に送信されます。 このメッセージは、記憶されているデバイスには送信されません。 BTH_ADDRESS構造は、見つからなかったデバイスのアドレスです。 |
関連トピック