Compartir a través de


Bluetooth IOCTLs

La pila de controladores Bluetooth proporciona controladores de perfil con varios IOCTLs para recopilar información sobre:

  • La radio y el sistema bluetooth locales.

  • Dispositivos Bluetooth remotos.

  • Dispositivo que provocó que el administrador de Plug and Play (PnP) cargue un controlador de perfil.

Para recopilar información sobre la radio y el sistema Bluetooth local, un controlador de perfil usa IOCTL_BTH_GET_LOCAL_INFO. Una vez devuelto el IOCTL, su miembro AssociatedIrp.SystemBuffer contiene un puntero a una estructura BTH_LOCAL_RADIO_INFO que contiene información sobre la radio y el sistema Bluetooth local, incluidas las marcas que indican si la radio local se puede detectar y conectar. La estructura de BTH_LOCAL_RADIO_INFO devuelta contiene una estructura BTH_DEVICE_INFO , que contiene información específica del sistema y una estructura BTH_RADIO_INFO , que contiene información local específica de radio.

Para recopilar información sobre un dispositivo Bluetooth remoto específico, un controlador de perfil usa IOCTL_BTH_GET_RADIO_INFO. Una vez devuelto el IOCTL, su miembro AssociatedIrp.SystemBuffer contiene un puntero a una estructura BTH_RADIO_INFO que proporciona información sobre la radio remota específica, incluido si se puede detectar y conectar la radio remota.

Para recopilar información sobre todas las radios remotas detectadas, un controlador de perfil usa IOCTL_BTH_GET_DEVICE_INFO. Una vez devuelto el IOCTL, su miembro AssociatedIrp.SystemBuffer contiene un puntero a una estructura de BTH_DEVICE_INFO_LIST que contiene una matriz de estructuras de BTH_DEVICE_INFO. La estructura BTH_DEVICE_INFO_LIST contiene una entrada de matriz para cada radio remoto detectado. La API BluetoothGetDeviceInfo en modo de usuario usa esta funcionalidad para devolver información sobre todas las radios remotas.

Para recopilar información sobre el dispositivo remoto que provocó que el Administrador de PnP lo cargara, un controlador de perfil usa IOCTL_INTERNAL_BTHENUM_GET_DEVINFO. Una vez devuelto el IOCTL, su miembro AssociatedIrp.SystemBuffer contiene un puntero a una estructura de BTH_DEVICE_INFO que contiene información sobre el dispositivo remoto, incluida su dirección del dispositivo Bluetooth, el estado del dispositivo y su configuración de clase de dispositivo (CoD).

Un controlador de perfil usa IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO para obtener información sobre el dispositivo y el servicio subyacentes que provocaron que el administrador de PnP cargara el controlador de perfil. Una vez devuelto el IOCTL, su miembro AssociatedIrp.SystemBuffer contiene un puntero a una estructura de BTH_ENUMERATOR_INFO que contiene información proporcionada por el proveedor sobre el dispositivo, incluido el número de puerto, las marcas de dispositivo, el identificador de proveedor y el identificador de producto.

Para obtener más información sobre el uso de IOCTLs y BRB de Bluetooth, consulta Building and Sending a BRB.