Messaggi Bluetooth e WM_DEVICECHANGE
Bluetooth include messaggi di WM_DEVICECHANGE specifici che consentono agli sviluppatori di ottenere messaggi quando i dispositivi Bluetooth subiscono modifiche di stato. Questo argomento descrive come ricevere messaggi specifici del Bluetooth WM_DEVICECHANGE ed elenca i messaggi specifici di Bluetooth.
Ricezione di messaggi di WM_DEVICECHANGE specifici di Bluetooth
Per ricevere WM_DEVICECHANGE messaggi, è prima necessario aprire un handle per la radio locale. A tale scopo, utilizzare uno dei metodi seguenti:
- Usare la funzione SetupDiGetClassDevs con i parametri seguenti: (GUID_BTHPORT_DEVICE_INTERFACE, ..., DIGCF_PRESENT | DIGCF_DEVICEINTERFACE), quindi usare il SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetail, CreateFilee le funzioni SetupDiDestroyDeviceInfoList.
- Usare le funzioniBluetoothFindFirstRadio BluetoothFindNextRadioe BluetoothFindRadioClose.
Quando l'handle di opzione Bluetooth viene aperto, chiamare la funzione RegisterDeviceNotification e registrarsi per le notifiche sull'handle usando DBT_DEVTYP_HANDLE come tipo di dispositivo. Quando vengono registrati, vengono inviati i GUID seguenti e il membro DEV_BROADCAST_HANDLE::dbch_data è il buffer associato.
Messaggi specifici di Bluetooth
La tabella seguente elenca i messaggi di WM_DEVICECHANGE specifici di Bluetooth.
GUID | BUFFER | Descrizione |
---|---|---|
GUID_BLUETOOTH_HCI_EVENT | BTH_HCI_EVENT_INFO | Questo messaggio viene inviato quando un dispositivo Bluetooth remoto si connette o si disconnette a livello di ACL. |
GUID_BLUETOOTH_L2CAP_EVENT | BTH_L2CAP_EVENT_INFO | Questo messaggio viene inviato quando un canale L2CAP tra la radio locale e un dispositivo Bluetooth remoto è stato stabilito o terminato. Per i canali L2CAP che sono multiplexer, ad esempio RFCOMM, questo messaggio viene inviato solo quando viene stabilito il canale sottostante, non quando ogni canale multiplexed, ad esempio un canale RFCOMM, viene stabilito o terminato. |
GUID_BLUETOOTH_PIN_REQUEST | Non applicabile. | Questo messaggio deve essere ignorato dall'applicazione. Se l'applicazione deve ricevere richieste PIN, deve essere usata la funzioneBluetoothRegisterForAuthentication. |
GUID_BLUETOOTH_RADIO_IN_RANGE | BTH_RADIO_IN_RANGE | Questo messaggio viene inviato quando uno degli attributi seguenti di un dispositivo Bluetooth remoto è stato modificato: il dispositivo è stato individuato, la classe di dispositivo, il nome, lo stato connesso o lo stato memorizzato del dispositivo. Questo messaggio viene inviato anche quando questi attributi vengono impostati o cancellati. |
GUID_BLUETOOTH_RADIO_OUT_OF_RANGE | BLUETOOTH_ADDRESS | Questo messaggio viene inviato quando non è stato trovato un dispositivo individuato in precedenza dopo il completamento dell'ultima richiesta. Questo messaggio non verrà inviato per i dispositivi memorizzati. La struttura BTH_ADDRESS è l'indirizzo del dispositivo non trovato. |
Argomenti correlati