mensajes de Bluetooth y WM_DEVICECHANGE
Bluetooth incluye mensajes de WM_DEVICECHANGE específicos que permiten a los desarrolladores obtener mensajes cuando Bluetooth dispositivos se someten a cambios de estado. En este tema se describe cómo recibir mensajes de Bluetooth específicos de WM_DEVICECHANGE y listas Bluetooth mensajes específicos.
Recepción de mensajes de WM_DEVICECHANGE específicos de Bluetooth
Para recibir mensajes WM_DEVICECHANGE , primero se debe abrir un identificador de la radio local. Para ello, use uno de estos métodos:
- Use la función SetupDiGetClassDevs con los parámetros siguientes: (GUID_BTHPORT_DEVICE_INTERFACE, ..., DIGCF_PRESENT | DIGCF_DEVICEINTERFACE), use las funciones SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetail, CreateFile y SetupDiDestroyDeviceInfoList .
- Usa las funciones BluetoothFindFirstRadio, BluetoothFindNextRadio y BluetoothFindRadioClose .
Cuando se abra el identificador de radio Bluetooth, llame a la función RegisterDeviceNotification y regístrese para recibir notificaciones en el identificador mediante DBT_DEVTYP_HANDLE como devicetype. Cuando se registra, se envían los siguientes GUID y el miembro DEV_BROADCAST_HANDLE::dbch_data es el búfer asociado.
mensajes específicos de Bluetooth
En la tabla siguiente se enumeran Bluetooth mensajes de WM_DEVICECHANGE específicos.
GUID | BUFFER | Descripción |
---|---|---|
GUID_BLUETOOTH_HCI_EVENT | BTH_HCI_EVENT_INFO | Este mensaje se envía cuando un dispositivo Bluetooth remoto se conecta o se desconecta en el nivel de ACL. |
GUID_BLUETOOTH_L2CAP_EVENT | BTH_L2CAP_EVENT_INFO | Este mensaje se envía cuando se ha establecido o finalizado un canal L2CAP entre la radio local y un dispositivo Bluetooth remoto. Para los canales L2CAP que son multiplexadores, como RFCOMM, este mensaje solo se envía cuando se establece el canal subyacente, no cuando cada canal multiplexado, como un canal RFCOMM, se establece o finaliza. |
GUID_BLUETOOTH_PIN_REQUEST | No aplicable. | La aplicación debe omitir este mensaje. Si la aplicación debe recibir solicitudes PIN, se debe usar la función BluetoothRegisterForAuthentication . |
GUID_BLUETOOTH_RADIO_IN_RANGE | BTH_RADIO_IN_RANGE | Este mensaje se envía cuando alguno de los siguientes atributos de un dispositivo remoto Bluetooth ha cambiado: se ha detectado el dispositivo, la clase de dispositivo, nombre, estado conectado o estado recordado del dispositivo. Este mensaje también se envía cuando se establecen o borran estos atributos. |
GUID_BLUETOOTH_RADIO_OUT_OF_RANGE | BLUETOOTH_ADDRESS | Este mensaje se envía cuando no se encuentra un dispositivo detectado anteriormente después de la finalización de la última consulta. Este mensaje no se enviará para dispositivos recordados. La estructura BTH_ADDRESS es la dirección del dispositivo que no se encontró. |
Temas relacionados