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:

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.

 

BluetoothFindFirstRadio

BluetoothFindNextRadio

BluetoothFindRadioClose

RegisterDeviceNotification

SetupDiDestroyDeviceInfoList

SetupDiEnumDeviceInterfaces

SetupDiGetClassDevs

BLUETOOTH_ADDRESS

BTH_HCI_EVENT_INFO

BTH_L2CAP_EVENT_INFO

BTH_RADIO_IN_RANGE

DEV_BROADCAST_HANDLE

WM_DEVICECHANGE