Messages Bluetooth et WM_DEVICECHANGE
Bluetooth inclut des messages WM_DEVICECHANGE spécifiques qui permettent aux développeurs d’obtenir des messages lorsque les appareils Bluetooth subissent des modifications d’état. Cette rubrique explique comment recevoir des messages WM_DEVICECHANGE spécifiques au Bluetooth et répertorie les messages spécifiques au Bluetooth.
Réception de messages WM_DEVICECHANGE spécifiques au Bluetooth
Pour recevoir WM_DEVICECHANGE messages, un handle vers la radio locale doit d’abord être ouvert. Pour ce faire, utilisez l’une des méthodes suivantes :
- Utilisez la fonction SetupDiGetClassDevs avec les paramètres suivants : (GUID_BTHPORT_DEVICE_INTERFACE, ..., DIGCF_PRESENT | DIGCF_DEVICEINTERFACE), puis utilisez le SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetail, CreateFileet les fonctions SetupDiDestroyDeviceInfoList.
- Utilisez lesBluetoothFindFirstRadio, BluetoothFindNextRadioet fonctions BluetoothFindRadioClose.
Lorsque le handle radio Bluetooth est ouvert, appelez la fonction RegisterDeviceNotification et inscrivez-vous aux notifications sur le handle à l’aide de DBT_DEVTYP_HANDLE comme type d’appareil. Lors de l’inscription, les GUID suivants sont envoyés et le DEV_BROADCAST_HANDLE::dbch_data membre est la mémoire tampon associée.
Messages spécifiques au Bluetooth
Le tableau suivant répertorie les messages WM_DEVICECHANGE spécifiques au Bluetooth.
GUID | TAMPON | Description |
---|---|---|
GUID_BLUETOOTH_HCI_EVENT | BTH_HCI_EVENT_INFO | Ce message est envoyé lorsqu’un appareil Bluetooth distant se connecte ou se déconnecte au niveau de la liste de contrôle d’accès. |
GUID_BLUETOOTH_L2CAP_EVENT | BTH_L2CAP_EVENT_INFO | Ce message est envoyé lorsqu’un canal L2CAP entre la radio locale et un appareil Bluetooth distant a été établi ou arrêté. Pour les canaux L2CAP qui sont des multiplexeurs, tels que RFCOMM, ce message est envoyé uniquement lorsque le canal sous-jacent est établi, et non quand chaque canal multiplexé, tel qu’un canal RFCOMM, est établi ou arrêté. |
GUID_BLUETOOTH_PIN_REQUEST | Sans objet. | Ce message doit être ignoré par l’application. Si l’application doit recevoir des demandes de code confidentiel, la fonction BluetoothRegisterForAuthentication doit être utilisée. |
GUID_BLUETOOTH_RADIO_IN_RANGE | BTH_RADIO_IN_RANGE | Ce message est envoyé lorsque l’un des attributs suivants d’un appareil Bluetooth distant a changé : l’appareil a été découvert, la classe d’appareil, le nom, l’état connecté ou l’état mémorisé de l’appareil. Ce message est également envoyé lorsque ces attributs sont définis ou effacés. |
GUID_BLUETOOTH_RADIO_OUT_OF_RANGE | BLUETOOTH_ADDRESS | Ce message est envoyé lorsqu’un appareil précédemment découvert n’a pas été trouvé après la fin de la dernière enquête. Ce message ne sera pas envoyé pour les appareils mémorisés. La structure BTH_ADDRESS est l’adresse de l’appareil introuvable. |
Rubriques connexes