ZHCACZ5 August 2023 CC2564C
GetRemoteName 命令负责查询远程设备的蓝牙设备名称。此命令在成功执行时返回零,而在出现任何错误时返回负值。该命令要求在运行之前存在有效的蓝牙协议栈 ID,并在使用 Inquiry 命令后调用。在这种情况下,DisplayInquiryList 命令可用于查找哪个远程设备与哪个查询索引关联。
GetRemoteName 命令需要一个参数,即远程蓝牙设备的查询索引。该值可以在查询后找到,或者在使用命令 DisplayInquiryList 时显示。命令调用示例“GetRemoteName 5”尝试查询位于第五个查询索引处的远程设备的设备名称。“GetRemoteName 8”尝试查询位于第八个查询索引处的远程设备的设备名称。
GAP_Query_Remote_Device_Name(BluetoothStackID, InquiryResultList[(TempParam->Params[0].intParam – 1)], GAP_Event_Callback, (unsigned long)0)
int BTPSAPI GAP_Query_Remote_Device_Name(unsigned int BluetoothStackID, BD_ADDR_t BD_ADDR, GAP_Event_Callback_t GAP_Event_Callback, unsigned longCallbackParameter)
提供此函数是为了能够查询指定远程蓝牙设备的用户友好的蓝牙设备名称。该函数将以下内容作为输入:远程蓝牙设备的地址(用于查询该设备的名称)以及 GAP 事件回调信息(在远程设备名称查询过程完成时需要使用)。如果成功,此函数返回零;如果无法提交远程名称请求,则返回负的错误代码。如果此函数返回成功,则在已确定远程名称信息(或如果存在错误)时,将通过指定的回调通知调用方。此函数无法用于确定本地蓝牙设备的用户友好名称。GAP_Query_Local_Name 函数用于查询本地蓝牙设备的用户友好名称。由于此函数本质上是异步的(指定远程设备地址),因此该函数通过指定的回调向调用方通知结果。通过发出 GAP_Cancel_Query_Remote_Name 函数并指定蓝牙设备的蓝牙设备地址(在对该函数的原始调用中指定),调用方可以随时取消远程名称请求。取消回调时,仍会尝试执行此操作,然后取消回调(即 GAP 模块仍可以执行远程名称请求,但从不发出回调)。