安装蓝牙设备

您所在的位置:网站首页 win7蓝牙驱动下载 安装蓝牙设备

安装蓝牙设备

2023-08-20 21:31| 来源: 网络整理| 查看: 265

安装蓝牙设备 项目 06/15/2023

重要

本主题面向程序员。 如果你的客户遇到蓝牙设备安装问题,请参阅 在 Windows 中配对蓝牙设备

蓝牙配置文件驱动程序有两种安装类型:

远程设备的客户端安装,远程设备在其中播发其服务,并且计算机连接到远程设备。 示例包括:鼠标、键盘和打印机。

服务器端安装 ,其中计算机播发服务,远程设备可以连接到计算机以使用这些服务。 例如,供应商可以创作服务器端安装,使移动设备能够打印到连接到计算机的打印机。

这两种安装类型需要不同的安装过程。

安装客户端配置文件驱动程序

想要使用支持蓝牙的设备的用户会将设备置于计算机范围内,并使用客户端配置文件驱动程序的以下安装顺序启动从计算机到远程设备的连接。

选择“在 控制面板中添加蓝牙设备”,查找计算机范围内的所有设备。

选择要配对的设备。

将设备与本地无线电配对。 这不一定涉及 PIN 交换。

本地无线电发出 SDP 查询,以识别远程设备上支持的服务。

“查找新硬件向导”在本地硬盘驱动器和Windows 更新上搜索相应的驱动程序。

如果 “查找新硬件向导” 找不到适用于设备的相应驱动程序,则会提示用户将配置文件驱动程序安装介质插入包含配置文件驱动程序的设备安装信息文件 (INF 文件) 。

安装服务器端配置文件驱动程序

蓝牙驱动程序堆栈支持蓝牙 SIG 定义的服务 GUID,以及自定义 GUID (,即蓝牙 SIG) 未定义的 GUID。

注意

Microsoft Windows SDK附带的guidgen.exe工具可用于创建自定义 GUID。

必须编写用户模式安装应用程序,以公开远程蓝牙设备可以使用的计算机功能。

安装应用程序必须与蓝牙驱动程序堆栈通信,以便为要公开的功能创建服务 GUID。 供应商在应用程序和设备安装 INF 文件中指定服务 GUID。

安装应用程序必须调用用户模式 API BluetoothSetLocalServiceInfo。 应用程序必须具有SE_LOAD_DRIVER_NAME安全特权,然后应用程序才能调用此 API。 下面的代码示例演示如何获取此权限。 请注意 ,该示例不演示错误处理。

HANDLE procToken; LUID luid; TOKEN_PRIVILEGES tp; OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &procToken); LookupPrivilegeValue(NULL, SE_LOAD_DRIVER_NAME, &luid); Tp.PrivilegeCount = 1; Tp.privileges[0].Luid = luid; Tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(procToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), (PTOKEN_PRIVILEGES) NULL, (PDWORD)NULL) 配置文件驱动程序 INF 文件

配置文件驱动程序的 INF 文件包含有关用于客户端安装的蓝牙设备的信息。 对于服务器端安装,INF 文件指定与安装应用程序创建的服务 GUID 对应的设备 ID。 所有蓝牙设备都是 蓝牙 类的成员。 蓝牙类安装程序 (Bthci.dll) 可帮助安装配置文件驱动程序。

有关创建和分发 INF 文件以及安装驱动程序的详细信息,请参阅 创建 INF 文件和INF 文件节和指令。

即插即用 ID

蓝牙驱动程序堆栈根据以下模板生成硬件 ID:

BTHENUM\{ ServiceGUID}_VID&nnnnnnnn

BTHENUM\{ ServiceGUID}_VID&nnnnnnnn_PID&nnnn

BTHENUM\{ ServiceGUID}_LOCALMFG&nn

蓝牙驱动程序堆栈根据以下模板生成兼容的 ID:

BTHENUM\{ ServiceGUID}

根据蓝牙规范的定义,ServiceGUID 是扩展为 128 位 GUID 的 16 位 GUID。 例如,{00001124-0000-1000-8000-00805F9B34FB} 对应于 HID 设备。

VID& 后面的 8 位数字对应于供应商 ID 代码。

PID& 后面的 4 位数字对应于产品 ID 代码。

LOCALMFG& 后面的 4 位数字对应于本地蓝牙无线电的制造商。

VID/PID 和 LOCALMFG 标记相互独立。

最通用的设备 ID 是 ServiceGUID 本身。 例如:

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}

蓝牙驱动程序堆栈可以限制为加载配置文件驱动程序和软件,以便仅在远程设备的特定版本上运行,方法是在远程设备和 INF 文件中使用即插即用 ID。 请注意,仅当设备发布堆栈可以使用 SDP 检测到的即插即用 ID 时,蓝牙驱动程序堆栈才会生成 VID/PID 对。 例如:

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_VID&nnnnnnnn_PID&nnnn

蓝牙驱动程序堆栈可以限制为加载配置文件驱动程序和软件,以便仅在特定的本地蓝牙无线电上运行,方法是在 INF 文件中的设备 ID 中指定 LOCALMFG 标记。 例如:

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_LOCALMFG&nnnn



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3