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. In questo argomento viene descritto come ricevere messaggi di WM_DEVICECHANGE specifici di Bluetooth ed elenca i messaggi specifici di Bluetooth.
Ricezione di messaggi di WM_DEVICECHANGE specifici di Bluetooth
Per ricevere WM_DEVICECHANGE messaggi, è necessario aprire un handle per la radio locale. Per farlo, usare uno dei metodi seguenti:
- Usare la funzione SetupDiGetClassDevs con i parametri seguenti: (GUID_BTHPORT_DEVICE_INTERFACE, ..., DIGCF_PREedizione Standard NT | DIGCF_DEVICEINTERFACE), quindi usare le funzioni SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetail, CreateFile e SetupDiDestroyDeviceInfoList.
- Usare le funzioni BluetoothFindFirstRadio, BluetoothFindNextRadio e 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. Se registrato, 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 funzione BluetoothRegisterForAuthentication. |
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