Messages Bluetooth et WM_DEVICECHANGE
Bluetooth inclut des messages WM_DEVICECHANGE spécifiques qui permettent aux développeurs d’obtenir des messages lorsque des appareils Bluetooth subissent des modifications status. Cette rubrique explique comment recevoir des messages WM_DEVICECHANGE spécifiques à Bluetooth et répertorie les messages spécifiques à Bluetooth.
Réception de messages WM_DEVICECHANGE spécifiques à Bluetooth
Pour recevoir WM_DEVICECHANGE messages, un handle de 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 les fonctions SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetail, CreateFile et SetupDiDestroyDeviceInfoList .
- Utilisez les fonctions BluetoothFindFirstRadio, BluetoothFindNextRadio et BluetoothFindRadioClose .
Lorsque le handle radio Bluetooth est ouvert, appelez la fonction RegisterDeviceNotification et inscrivez-vous pour recevoir des notifications sur le handle en utilisant DBT_DEVTYP_HANDLE comme type d’appareil. Lors de l’inscription, les GUID suivants sont envoyés et le membre DEV_BROADCAST_HANDLE::dbch_data est la mémoire tampon associée.
Messages spécifiques à Bluetooth
Le tableau suivant répertorie les messages WM_DEVICECHANGE spécifiques à Bluetooth.
GUID | BUFFER | 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 lorsque chaque canal multiplexé, tel qu’un canal RFCOMM, est établi ou terminé. |
GUID_BLUETOOTH_PIN_REQUEST | Non applicable. | 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 été modifié : l’appareil a été découvert, la classe de l’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 dernière recherche. 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