ZHCACZ4 August 2023 CC2564C
Inquiry 命令負(fù)責(zé)執(zhí)行一般查詢以發(fā)現(xiàn)藍(lán)牙設(shè)備。此命令要求在運(yùn)行之前存在有效的藍(lán)牙協(xié)議棧 ID。如果調(diào)用成功,此命令將返回零;如果執(zhí)行期間發(fā)生錯(cuò)誤,此命令將返回負(fù)值。查詢會(huì)持續(xù) 10 秒 — 除非在該時(shí)間限制之前找到 20 個(gè)設(shè)備 (MAX_INQUIRY_RESULTS)。
使用此命令時(shí)不需要參數(shù)。參數(shù)對(duì)查詢的結(jié)果沒(méi)有影響。
GAP_Perform_Inquiry (BluetoothStackID, itGeneralInquiry, 0, 0, 10, MAX_INQUIRY_RESULTS, GAP_Event_Callback, (unsigned long) NULL);
int BTPSAPI GAP_Perform_Inquiry(unsigned int BluetoothStackID, GAP_Inquiry_Type_t GAP_Inquiry_Type, unsigned int MinimumPeriodLength, unsigned intMaximumPeriodLength, unsigned int InquiryLength, unsigned int MaximumResponses, GAP_Event_Callback_t GAP_Event_Callback, unsigned long CallbackParameter);
提供此函數(shù)是為了能夠啟動(dòng)查詢掃描過(guò)程。此函數(shù)的第一個(gè)參數(shù)是要執(zhí)行查詢的藍(lán)牙設(shè)備的藍(lán)牙協(xié)議棧。第二個(gè)參數(shù)是要執(zhí)行的查詢類型。第三個(gè)參數(shù)是最小周期長(zhǎng)度,第四個(gè)參數(shù)是最大周期長(zhǎng)度,以秒為單位(僅在執(zhí)行定期查詢的情況下有效)。第五個(gè)參數(shù)是執(zhí)行查詢的時(shí)間長(zhǎng)度,以秒為單位指定。第六個(gè)參數(shù)是要等待的響應(yīng)數(shù)。最后兩個(gè)參數(shù)表示在完成指定查詢后要調(diào)用的回調(diào)函數(shù)(和參數(shù))。如果成功,此函數(shù)返回零;如果無(wú)法執(zhí)行查詢,則返回負(fù)的錯(cuò)誤代碼。在任何給定時(shí)間只能執(zhí)行一次查詢。在未完成的查詢正在進(jìn)行時(shí)調(diào)用此函數(shù)將會(huì)失敗。調(diào)用方可以調(diào)用 GAP_Cancel_Inquiry() 函數(shù)來(lái)取消當(dāng)前正在執(zhí)行的查詢過(guò)程。最小和最大查詢參數(shù)是可選參數(shù),如果指定,則表示最小和最大定期查詢周期。如果要使用簡(jiǎn)單查詢過(guò)程(非定期),這兩個(gè)值都必須設(shè)置為零。如果指定了這兩個(gè)參數(shù),則必須滿足以下條件:MaximumPeriodLength > MinimumPeriodLength > InquiryLength。