蓝牙主机射频支持

本文提供有关蓝牙无线电支持的典型问题的解答。

Windows 中支持的蓝牙主机控制器

使用 Windows 时,蓝牙无线电可以打包为外部保护板或嵌入到计算机内部,但必须连接到计算机的 USB 端口之一。 有关详细信息,请参阅 蓝牙设备参考

如果 Windows 无法匹配设备 ID 时(Windows Vista),则强制加载蓝牙协议栈。

新的蓝牙无线电可能与 Windows 随附的蓝牙 INF(Bth.inf)中的任何设备 ID 不匹配。 缺少的匹配可防止 Windows 为设备加载蓝牙堆栈。 通过以下方式之一确保无线电与本地蓝牙堆栈配合使用:

以下过程使用 Device Manager 强制为新无线电加载蓝牙堆栈:

  1. 运行控制面板设备管理器应用程序,并在设备列表中标识蓝牙无线电。
  2. 若要运行更新驱动程序软件向导,请右键单击蓝牙单选项目,然后选择 更新驱动程序软件
  3. 使用向导强制安装蓝牙堆栈。

有关此过程的详细说明,请参阅 附录 A:如何在 Windows Vista中的新硬件上安装 In-Box 蓝牙驱动程序。

确保对蓝牙模块的内置支持

IHV 应执行以下步骤,确保其蓝牙无线电在 Windows 上具有现装支持:

无法再将无线电添加到内置 Bth.inf 文件中。

使用 Microsoft 定义的类 GUID 的 INF 文件

只有在这些 INF 文件引用内置蓝牙 INF 文件 (Bth.inf) 时,将 Microsoft 定义的类全局唯一标识符 (GUID) ({e0cbf06c cd8b 4647 bb8a 263b43f0f974}) 用于蓝牙设备。 设备使用本机 Windows 安装程序、服务和通知区域图标。 如果实现自己的蓝牙堆栈,则必须创建特定于供应商的类 GUID 并使用 WLK 测试工具来确保堆栈符合未分类的 Windows 认证计划。

为什么缺少控制面板蓝牙应用程序

控制面板蓝牙应用程序已合并到设备和打印机中。 因此,调整蓝牙无线电设置、管理蓝牙设备以及添加新的蓝牙设备只能从设备和打印机内执行。

为什么蓝牙图标可能不会显示在任务栏中

如果蓝牙图标未显示在任务栏中,则可能是因为以下一个或多个原因:

  • 蓝牙无线电已关闭。
  • 蓝牙无线电处于仿真模式。
  • 在“蓝牙设置”对话框中,未选中“在通知区域中显示蓝牙图标”复选框。

对蓝牙无线电固件更新的 Windows 支持

目前,Windows 随附的蓝牙堆栈不支持直接支持固件更新。 但是,对于通过 USB 端口连接的蓝牙无线电,Windows 支持固件更新符合 USB 设备固件更新(DFU)规范。 IHV 可以创建一个用户模式实用工具,该实用工具通过 DFU 接口与其蓝牙无线电通信,以执行固件更新并重启无线电。

对供应商专用直通命令的 Windows 支持

Windows 包括对供应商专用直通命令的支持。 这些内核模式接口记录在 WDK 中。

对供应商提供的配置文件的 Windows 支持

Windows 支持供应商提供的蓝牙配置文件。 蓝牙 SIG 标准化配置文件的 GUID 包含在盒内 INF 文件 (Bth.inf) 中。

当用户将蓝牙设备与计算机配对时,设备的配置文件与 Bth.inf 中列出的配置文件进行比较。 如果设备配置文件与其中一个配置文件不匹配,用户将收到一个对话框,要求他们提供适当的供应商软件。

想要供应商专用配置文件的供应商必须使用自己的 GUID,并在供应商专用 INF 文件中引用它。 此 INF 文件可以使用 Include 和 Needs 指令来引用相应的 Bth.inf 节和指令。 有关特定于供应商的 INF 文件的示例,请参阅 附录 B:供应商提供的 INF 文件的示例,用于 Windows Vista

默认启用的蓝牙配置文件和协议

Windows 随附的蓝牙堆栈仅提供对某些蓝牙配置文件的开箱即用支持。 供应商必须实施必要的服务来支持其他任何蓝牙协议规范,就像他们为 USB 和 PCI 所做的那样。 Windows 可以使用默认启用的蓝牙配置文件(称为受支持的配置文件)生成物理设备对象(PDO)。 这允许默认加载启用个人资料所需的驱动程序。 可以通过查看 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Bthport \Parameters 项下的 SupportedServices 和 UnsupportedServices 值来识别注册表中受支持的配置文件。

注意

只有在安装蓝牙设备后,Bthport 密钥才会添加到注册表。

下表列出了 Bth.inf 中受 Windows 支持的配置文件。

服务标识符 描述
{00001101-0000-1000-8000-00805f9b34fb} SPP
{00001103-0000-1000-8000-00805f9b34fb} DUN
{00001124-0000-1000-8000-00805f9b34fb} HID
{00001126-0000-1000-8000-00805f9b34fb} HCRP

Windows 蓝牙配置文件

若要使已启用蓝牙的设备或配件与运行 Windows 10 的电脑配合使用,设备需要使用受支持的蓝牙配置文件之一。 请参阅以前的 Windows 版本中的蓝牙版本和配置文件支持

如果 IHV 不希望 Windows 为其设备自动生成 PDO,则可以将服务 GUID 添加到不受支持的服务列表中。 有关示例,请参阅 Bth.inf。

组策略如何阻止蓝牙无线电安装

有关如何使用组策略阻止安装蓝牙无线电的详细信息,请参阅 有关控制组策略安装和使用组策略的分步指南的“阻止安装禁止设备”部分。

对蓝牙无线电使用以下兼容的 ID:

USB\Class_E0(适用于基于 USB 的无线电)MS_BTHX_BTHMINI(对于非 USB 无线电)

注意

阻止蓝牙无线电安装不会删除蓝牙驱动程序支持(如果已安装)。 此外,此策略必须应用于预安装的映像。

如何更改 Windows 发布的设备 ID 配置文件记录

设备 ID 配置文件定义可用于向远程设备提供标识信息的 SDP 记录。 Windows 使用在配对设备上发布的设备 ID 记录为通用蓝牙服务提供特定于设备的硬件 ID。

Windows 还会发布本地设备 ID 记录,以将 Windows 设备标识到远程蓝牙设备。 可以调整默认值,以便更好地识别特定的 Windows 设备。 这些值在下表中定义,位于 HKLM\System\CCS\services\BTHPORT\Parameters 注册表项下:

ValueName 类型 描述 默认值
DIDVendorIDSource DWORD 0x01 = 蓝牙 SIG 命名空间
0x02 = USB 论坛命名空间
0x01
DIDVendorID DWORD OEM 指定的 VendorID 0x06 – Microsoft供应商 ID
DIDProductID DWORD OEM 指定的 ProductID 0x01 – Microsoft Windows
DIDVersion DWORD OEM 指定的产品版本 0x0800 – Windows 8