Compartir a través de


Pila de controladores Bluetooth

La pila del controlador Bluetooth consta de la parte principal de la compatibilidad proporcionada por Microsoft para el protocolo Bluetooth. Con esta pila, los dispositivos habilitados para Bluetooth pueden localizarse entre sí y establecer conexiones. En estas conexiones, los dispositivos pueden intercambiar datos e interactuar entre sí a través de varias aplicaciones.

En la imagen siguiente se muestran los módulos de la pila de controladores Bluetooth, junto con posibles controladores personalizados de modo de usuario y modo kernel que no se incluyen en Windows Vista y versiones posteriores. Estos controladores personalizados se conocen como controladores de perfil.

Diagrama que muestra la arquitectura de pila de controladores Bluetooth.

  • Modo de usuario

    • Aplicación en modo de usuario: una aplicación en modo de usuario que accede a la pila de controladores Bluetooth a través de las API publicadas. Para obtener más información, consulte Acerca de Bluetooth en la documentación de Windows SDK.

      Las aplicaciones en modo de usuario deben vincularse con BthProps.lib, en lugar de IrProps.lib, para poder usar las API, como BluetoothSetLocalServiceInfo.

  • Ejemplos de controladores de perfil

    • Controlador del modo kernel WAP: el componente protocolo de aplicación inalámbrica (WAP) es un ejemplo de un controlador de perfil que se comunica entre la pila de redes de Windows y BthPort, el acceso a la interfaz L2CAP y, opcionalmente, la interfaz SDP contenida en L2CAP. Otros perfiles posibles incluyen el perfil de distribución de audio avanzada (A2DP), el perfil de control remoto de A/V (AVRCP), el perfil de distribución de A/V genérico (GAVDP) y el perfil de acceso ISDN común (CIP).

    • Controlador de modo kernel de audio: ejemplo de un controlador de perfil que se comunica entre la pila de audio de Windows y BthPort, accediendo a las interfaces SCO contenidas en este último. Los perfiles posibles incluyen el perfil manos libres (HFP), el perfil de auriculares (HSP), el perfil de telefonía sin cable (CTP) y el perfil de intercomunicador (ICP). Este controlador de perfil se incluye con Windows a partir de Windows 8.

    • Perfil de monitor de frecuencia cardíaca Bluetooth LE: un ejemplo de un controlador de perfil Bluetooth LE que se comunica con la API bluetooth de bajo consumo (LE).

  • Componentes de pila de controladores Bluetooth

    • IrProps: componente que se usa para la compatibilidad con versiones anteriores para los controladores de perfil que se crean para la primera versión de la pila de controladores Bluetooth. IrProps solo se proporciona por motivos de compatibilidad con versiones anteriores. Use el componente BthProps para el nuevo desarrollo.

    • BthProps: componente que contiene la implementación de la interfaz de usuario bluetooth junto con la implementación de las API bluetooth a las que acceden las aplicaciones en modo de usuario. Este componente envía consultas a BthServ a través de llamadas a procedimientos remotos (RPC). Además, BthProps realiza intercambios de patillas con BthPort a través de ioCTLs privados. Tenga en cuenta que BthProps se ejecuta en cualquier sistema con una radio habilitada para Bluetooth.

    • BthServ: un servicio responsable del almacenamiento en caché y el reenvío de datos de consulta a Bthport.

    • BthCi: el instalador de clase Bluetooth.

    • WshBth: el componente auxiliar de sockets bluetooth de Windows. WshBth lo llama la capa de sockets de Windows para realizar operaciones de socket. WshBth llama principalmente a RfComm a través de la interfaz TDI. WshBth también llama a BthServ para realizar consultas de dispositivos remotos y en BthPort para realizar consultas de radio locales.

    • FSquirt: un componente de Intercambio de objetos nonextensible (OBEX) que permite a los usuarios enviar y recibir archivos a través de una conexión Bluetooth abierta. OBEX se comunica con dispositivos remotos a través de RFCOMM que usa el componente WshBth.

    • BthPrint: componente que implementa el perfil de reemplazo de cable de hardcopy (HCRP). Este componente permite al sistema de impresión enviar y recibir datos de impresoras habilitadas para Bluetooth. BthPrint se comunica con la interfaz SDP de BthPort para consultar impresoras remotas y la interfaz L2CAP en BthPort para enviar y recibir datos.

    • HidBth: componente que implementa el perfil de dispositivo de interfaz humana (HID). HidBth también se comunica con las interfaces L2CAP y SDP en BthPort. HidBth se conecta a la pila HID de forma muy similar a la del módulo HID USB.

    • BthPan: el componente que implementa el perfil de red de área personal (PAN), que proporciona conexiones TCP a través de una conexión Bluetooth abierta. En Windows Vista y Windows XP, BthPan solo admite conexiones salientes. BthPan también es un cliente del componente BthPort y usa las interfaces L2CAP y SDP.

    • RfComm: componente que implementa el protocolo de emulación de cable serie Bluetooth. RfComm también usa las interfaces L2CAP y SDP que se encuentran en BthPort. El borde superior de RfComm expone la interfaz TDI, lo que permite que este componente parezca ser un transporte de red. Así es como WshBth se conecta a Bluetooth para enviar y recibir datos de las API en modo de usuario.

      Las aplicaciones en modo de usuario pueden acceder a RfComm mediante las interfaces winsock descritas en Windows SDK.

    • BthModem: componente que implementa puertos COM virtuales y redes de acceso telefónico (DUN). BthModem dirige todas las operaciones de E/S y control a RfComm a través de una interfaz TDI. El borde superior de BthModem se comunica con Serial.sys para dar la apariencia de ser un puerto COM inalámbrico.

    • BthEnum: el conductor del autobús Bluetooth. BthEnum se comunica con el administrador de Plug and Play (PnP) para crear y destruir objetos de dispositivo usados para habilitar los servicios Bluetooth. BthEnum crea un PDO para cada servicio que admite un dispositivo remoto conectado. Por ejemplo, cuando un usuario conecta un mouse habilitado para Bluetooth, Windows detectará que el mouse admite el servicio Bluetooth HID y crea un PDO para el servicio HID que hace que el administrador de PnP cargue HidBth.

      Nota

      BthEnum no creará archivos PDO para los servicios que aparecen en la clave del Registro UnsupportedServices , tal como se especifica en Bth.inf.

    • BthLEEnum: el conductor del autobús Bluetooth de baja energía (LE). BthLEEnum implementa el protocolo ATT y el perfil GATT. También es responsable de crear archivos PDO para representar los dispositivos remotos y sus servicios principales.

    • BthPort: minidriver cargado por el miniporte BthUsb. BthPort proporciona cuatro componentes:

      1. El componente HCI se comunica con la radio local habilitada para Bluetooth a través de la interfaz del controlador de host (HCI) definida en la especificación bluetooth. Dado que todas las radios habilitadas para Bluetooth implementan la especificación HCI, BthPort es capaz de comunicarse con cualquier radio habilitado para Bluetooth, independientemente del fabricante o modelo.
      2. El componente SCO implementa el protocolo de Connection-Oriented sincrónico (SCO). Este protocolo admite la creación de conexiones de punto a punto a un dispositivo remoto. Los clientes SCO se comunican con la interfaz SCO mediante la creación y el envío de bloques de solicitudes Bluetooth (BRB).
      3. L2CAP implementa el protocolo de adaptación y control de vínculos lógicos Bluetooth. Este protocolo admite la creación de un canal sin pérdida en un dispositivo remoto. Los clientes L2CAP se comunican con la interfaz L2CAP mediante la compilación y el envío de bloques de solicitud Bluetooth (BRB).
      4. SDP implementa el Protocolo de detección de servicios Bluetooth.
    • BthUsb.sys: minipuerto que abstrae la interfaz de bus de BthPort.