Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La pila del controlador Bluetooth consta del núcleo del soporte proporcionado 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 dentro de la pila de controladores Bluetooth, junto con los posibles controladores personalizados de modo usuario y modo kernel no incluidos en Windows Vista y versiones posteriores. Los controladores personalizados se conocen como controladores de perfil.
La imagen de arquitectura incluye los siguientes componentes y ejemplos:
Modo de usuario
Aplicación en modo de usuario: una aplicación en modo de usuario 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 usar API como BluetoothSetLocalServiceInfo.
Ejemplos de controladores de perfil
Controlador del Modo Kernel WAP: El componente del Protocolo de Aplicaciones Inalámbricas (WAP) es un ejemplo de un controlador de perfil que se comunica entre la pila de red de Windows y BthPort. Accede a la interfaz L2CAP y, opcionalmente, accede a la interfaz del Protocolo de detección de servicios (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 del modo kernel de audio: ejemplo de un controlador de perfil que se comunica entre la pila de audio de Windows y BthPort, que accede a las interfaces SCO contenidas en BthPort. Los perfiles posibles incluyen el perfil manos libres (HFP), el perfil de auriculares (HSP), el perfil de telefonía inalámbrica (CTP) y el perfil de intercom (ICP). Este controlador de perfil se incluye con Windows a partir de Windows 8.
Perfil de monitor de frecuencia cardíaca Bluetooth LE: ejemplo de un controlador de perfil Bluetooth LE que se comunica con la API Bluetooth Low Energy (LE).
Componentes de la pila de controladores Bluetooth
IrProps: un componente usado para la compatibilidad retroactiva de drivers de perfil creados para la primera versión del stack de controladores Bluetooth. IrProps solo se proporciona por motivos de compatibilidad con versiones anteriores. Para el nuevo desarrollo, use el componente BthProps .
BthProps: componente que contiene la implementación de la interfaz de usuario de Bluetooth junto con la implementación de las API de 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 pines con BthPort a través de IOCTLs privados. BthProps se ejecuta en cualquier sistema con una radio habilitada para Bluetooth.
BthServ: servicio responsable del almacenamiento en caché y reenvío de datos de consulta a Bthport.
BthCi: el instalador de clase Bluetooth.
WshBth: el componente auxiliar del socket de Bluetooth de Windows. WshBth es llamado por la capa de sockets de Windows para realizar operaciones de sockets. WshBth realiza principalmente llamadas a RFCOMM a través de la Transport Driver Interface (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 copia dura (HCRP). Este componente permite al sistema de impresión enviar datos 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 similar al módulo HID USB.
BthPan: 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, que permite que este componente aparezca como un transporte de red. Este enfoque es cómo 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 el archivo Serial.sys para dar la apariencia de ser un puerto COM inalámbrico.
BthEnum: el controlador de bus 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 compatible con un dispositivo remoto conectado. Por ejemplo, cuando un usuario conecta un mouse habilitado para Bluetooth, Windows detecta que el mouse admite el servicio Bluetooth HID. Windows crea un PDO para el servicio HID que hace que el administrador de PnP cargue HidBth.
Nota:
BthEnum no crea objetos de dispositivo físico (PDO) para los servicios que aparecen en la Clave del Registro UnsupportedServices, según se especifica en el archivo INF Bth.inf.
BthLEEnum: el conductor del autobús Bluetooth Low Energy (LE). BthLEEnum implementa el protocolo ATT y el perfil GATT. Este controlador también es responsable de crear PDOs para representar los dispositivos remotos y sus servicios principales.
BthPort: Un controlador mínimo cargado por el miniportador BthUsb. BthPort proporciona cuatro componentes:
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.
El componente SCO implementa el protocolo sincrónico Connection-Oriented (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 compilación y el envío de bloques de solicitud Bluetooth (BRB).
L2CAP implementa el control de vínculo lógico Bluetooth y el protocolo de adaptación. 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 BRB.
SDP implementa el protocolo de detección de servicios Bluetooth.
BthUsb.sys: minipuerto que abstrae la interfaz de bus de BthPort.