蓝牙主机无线电支持

本主题提供有关单选机支持的典型蓝牙解答。

蓝牙中支持的主机Windows

使用 Windows,蓝牙可以打包为外部适配器或嵌入到计算机中,但必须连接到计算机的 USB 端口之一。 Windows 7 和 Windows Vista 中包含的 蓝牙 堆栈不支持通过 PCI、I2C、串行、安全数字 I/O (SDIO) 、CompactFlash 或 PC 卡接口进行 蓝牙 无线电连接。 在 Windows 8 和 Windows 8.1 中,可以通过第三方总线驱动程序添加通过备用传输连接的无线电。 有关详细信息,请参阅 蓝牙 设备参考的可扩展传输部分。

如果 蓝牙与 Vista Windows设备 ID 不匹配,则强制加载 (Windows堆栈)

新的 蓝牙 单选按钮可能与 Windows 中包含的 蓝牙 INF (Bth.inf) 设备的任何设备WINDOWS。 这可以防止Windows设备加载蓝牙堆栈。 IHV 应确保其单选蓝牙以下方式之一与本机堆栈一起工作:

  • 为引用 Bth.inf 的无线电创建 INF。 有关适用于 蓝牙 单选按钮的供应商特定 INF 文件的示例,请参阅附录 B:供应商提供的 INF 文件示例,供 Windows 使用。
  • 将扩展兼容性 ID OS 描述符存储在设备固件中,该描述符指定相应的兼容和不兼容 ID。 有关扩展的 compat ID OS 描述符的信息,请参阅 Microsoft OS 描述符
  • 强制蓝牙堆栈加载

以下过程使用 设备管理器 来强制蓝牙新单选按钮加载数据堆栈:

  1. 运行控制面板 设备管理器应用程序,蓝牙列表上的"单选"单选按钮。
  2. 若要运行更新驱动程序软件向导,请右键单击蓝牙单选项,然后选择"更新驱动程序软件"
  3. 使用向导强制安装蓝牙堆栈。

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

确保对无线无线蓝牙支持

IHV 应执行以下步骤,以确保其蓝牙无线电在设备上具有Windows:

  • 确保无线电支持扩展的 compat ID OS 功能描述符。 有关详细信息,请参阅 Microsoft OS 描述符
  • 获取Windows无线硬件蓝牙关联的 INF 文件的认证计划批准。 有关适用于 蓝牙 单选按钮的供应商特定 INF 文件的示例,请参阅附录 B:供应商提供的 INF 文件示例,供 Windows 使用。
  • 使用合作伙伴中心使 INF 文件通过 Windows 更新

无法再将单选按钮添加到装箱的 Bth.inf 文件中。

第三方 INF 文件应该使用 Microsoft 定义的类 GUID

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

缺少控制面板 蓝牙应用程序的原因

应用程序控制面板 蓝牙合并到"设备和打印机"中。 因此,只能蓝牙和打印机中蓝牙单选设置、蓝牙设备以及添加新的 蓝牙 设备。

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

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

  • 关闭蓝牙单选按钮。
  • 无线电蓝牙仿真模式。
  • "蓝牙 设置"对话框中,未选中"蓝牙区域中的"显示图像图标"复选框。

Windows单选蓝牙更新的支持

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

Windows供应商特定的传递命令的支持

Windows支持供应商特定的传递命令。 WDK 中记录了这些内核模式接口。

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

Windows供应商提供的配置文件蓝牙配置文件。 这些已由 蓝牙 SIG 标准化的配置文件的 GUID 包含在 Bth.in) f (中。

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

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

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

蓝牙包含的 Windows 堆栈仅为某些配置文件提供蓝牙支持。 供应商必须实现所需的服务以支持任何其他 蓝牙配置文件,就像对 USB 和 PCI 一样。 Windows使用蓝牙启用的配置文件(称为支持的配置文件)在 PDU (生成) 。 这将启用启用配置文件所需的驱动程序的默认加载。 可以通过查看 \Parameters 键下 SupportedServices 和 UnsupportedServices 值来标识 注册表HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Bthport配置文件

注意

只有在安装 Bthport 密钥后,才将 Bthport 蓝牙注册表。

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

服务 ID 描述
{00001101-0000-1000-8000-00805f9b34fb} SPP
{00001103-0000-1000-8000-00805f9b34fb}
{00001124-0000-1000-8000-00805f9b34fb} HID
{00001126-0000-1000-8000-00805f9b34fb} HCRP

Windows 蓝牙配置文件

若要蓝牙的设备或附件与运行 Windows 10 的电脑一起工作,设备需要使用受支持的 蓝牙 配置文件之一。 请参阅支持的配置文件中的蓝牙列表

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

如何组策略无线蓝牙安装

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

将以下兼容 D 用于蓝牙设备:

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

注意

如果已安装驱动程序蓝牙,这不会删除驱动程序支持。 此外,此策略需要应用于预安装映像。

如何更改由用户发布的设备 ID 配置文件Windows

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

Windows还会发布本地设备 ID 记录,以将Windows设备标识到远程蓝牙设备。 OEM 可以调整默认值,以更好地识别其特定的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