Bluetooth e WM_DEVICECHANGE mensagens
O Bluetooth inclui mensagens WM_DEVICECHANGE específicas que permitem aos desenvolvedores obter mensagens quando os dispositivos Bluetooth passam por alterações de status. Este tópico descreve como receber mensagens de WM_DEVICECHANGE específicas de Bluetooth e lista mensagens específicas de Bluetooth.
Receber mensagens de WM_DEVICECHANGE específicas para Bluetooth
Para receber WM_DEVICECHANGE mensagens, um identificador para o rádio local deve primeiro ser aberto. Para tal, use um dos seguintes métodos:
- Use a função SetupDiGetClassDevs com os seguintes parâmetros: (GUID_BTHPORT_DEVICE_INTERFACE, ..., DIGCF_PRESENT | DIGCF_DEVICEINTERFACE), use as funções SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetail, CreateFile e SetupDiDestroyDeviceInfoList.
- Use as funções BluetoothFindFirstRadio, BluetoothFindNextRadio e BluetoothFindRadioClose.
Quando a alça de rádio Bluetooth for aberta, chame a função RegisterDeviceNotification e registre-se para receber notificações no identificador usando DBT_DEVTYP_HANDLE como o tipo de dispositivo. Quando registrados, os GUIDs a seguir são enviados e o membro DEV_BROADCAST_HANDLE::dbch_data é o buffer associado.
Mensagens específicas de Bluetooth
A tabela a seguir lista as mensagens WM_DEVICECHANGE específicas do Bluetooth.
GUID | BUFFER | Descrição |
---|---|---|
GUID_BLUETOOTH_HCI_EVENT | BTH_HCI_EVENT_INFO | Essa mensagem é enviada quando um dispositivo Bluetooth remoto se conecta ou se desconecta no nível da ACL. |
GUID_BLUETOOTH_L2CAP_EVENT | BTH_L2CAP_EVENT_INFO | Essa mensagem é enviada quando um canal L2CAP entre o rádio local e um dispositivo Bluetooth remoto foi estabelecido ou encerrado. Para canais L2CAP que são multiplexadores, como RFCOMM, essa mensagem só é enviada quando o canal subjacente é estabelecido, não quando cada canal multiplexado, como um canal RFCOMM, é estabelecido ou terminado. |
GUID_BLUETOOTH_PIN_REQUEST | Não aplicável. | Essa mensagem deve ser ignorada pelo aplicativo. Se o aplicativo deve receber solicitações de PIN, a função BluetoothRegisterForAuthentication deve ser usada. |
GUID_BLUETOOTH_RADIO_IN_RANGE | BTH_RADIO_IN_RANGE | Essa mensagem é enviada quando qualquer um dos seguintes atributos de um dispositivo Bluetooth remoto foi alterado: o dispositivo foi descoberto, a classe do dispositivo, nome, estado conectado ou estado lembrado do dispositivo. Essa mensagem também é enviada quando esses atributos são definidos ou desmarcados. |
GUID_BLUETOOTH_RADIO_OUT_OF_RANGE | BLUETOOTH_ADDRESS | Essa mensagem é enviada quando um dispositivo descoberto anteriormente não foi encontrado após a conclusão da última consulta. Esta mensagem não será enviada para dispositivos lembrados. A estrutura BTH_ADDRESS é o endereço do dispositivo que não foi encontrado. |
Tópicos relacionados