ZHCACY9 August 2023 CC2564C
GetRemoteName 命令負責查詢遠程設備的藍牙設備名稱。此函數在成功執行時返回零,而在出現任何錯誤時返回負值。該命令要求在運行之前存在有效的藍牙協議棧 ID,并在使用 Inquiry 命令后調用。在這種情況下,DisplayInquiryList 命令可用于查找哪個遠程設備與哪個查詢索引關聯。
GetRemoteName 命令需要一個參數,即遠程藍牙設備的查詢索引。該值可以在查詢后找到,或者在使用命令 DisplayInquiryList 時顯示。
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 模塊仍可執行遠程名稱請求,但從未發出回調)。