共用方式為


裝置查詢 藍牙 和 WSALookupServiceBegin

本主題描述如何使用 WSALookupServiceBegin 函式來執行可見和準刪除裝置的查詢。 如需詳細資訊,請參閱探索 藍牙 裝置和服務

WSALookupServiceBegin 函式會在其第一個參數 lpqsRestrictions 中使用 WSAQUERYSET 結構來定義搜尋準則。 藍牙 提供使用 的特定指導方針WSALookupServiceBegin 函式和 WSAQUERYSET

下表列出在查詢裝置時,套用至傳遞至 lpqsRestrictions 參數之 WSAQUERYSET 結構的限制。

WSAQUERYSET 成員 限制
dwSize 設定為 sizeofWSAQUERYSET)。
lpBlob 此成員包含 BLOB 結構的選擇性指標。 如果指定此成員,LUP_FLUSHCACHE的有效裝置查詢參數如下所示:
  • BLOB 結構的 cbSize 成員必須是 sizeofBTH_QUERY_DEVICE)。
  • pBlobData 成員是BTH_QUERY_DEVICE結構的指標,其中 LAP 成員是 藍牙 查詢存取碼,長度成員則是查詢的長度,以秒為單位。
dwNameSpace 設定為 NS_BTH
其他成員 會忽略 WSAQUERYSET 結構的其他成員

 

下表所列的旗標會用於 dwControlFlags 參數來控制查詢結果。 WSALookupServiceBegin 函式會使用LUP_CONTAINERS和LUP_FLUSHCACHE旗標;其餘的旗標則用於呼叫 WSALookupServiceNext 函式。

旗標 結果
LUP_CONTAINERS 指定查詢的目的是取得 藍牙 裝置清單,而不是服務清單。 必須設定此旗標。
LUP_FLUSHCACHE 觸發本機裝置的查詢,或導致傳回先前查詢的快取結果。
LUP_RETURN_TYPE 直接在 WSAQUERYSET 結構的 lpServiceClassId 成員中傳回 藍牙 COD (裝置位類別)。 COD 會對應至 GUID 的 Data1 成員。
LUP_RES_SERVICE 傳回本機 藍牙 地址的資訊。 只有在同時指定LUP_RETURN_ADDR,此旗標才會生效。
LUP_RETURN_NAME 針對 WSALookupServiceNext 函式的每個呼叫,傳回 WSAQUERYSET 結構的 lpszServiceInstanceName 成員中的裝置顯示名稱。 指定LUP_RETURN_BLOB旗標時,也必須指定此旗標,以擷取BTH_DEVICE_INFO結構的名稱成員。
LUP_RETURN_ADDR 針對 WSALookupServiceNext 函式的每個呼叫,傳回包含 WSAQUERYSET 結構 lpcsaBuffer 成員對等 48 位位址的 SOCKADDR_BTH 結構。 SOCKADDR_BTH 結構中的其他成員將會是空的
LUP_RETURN_BLOB 在每個後續呼叫 WSALookupServiceNext 時,傳回BTH_DEVICE_INFO結構。
LUP_FLUSHPREVIOUS 略過下一個可用的裝置,並傳回後續的裝置。

 

藍牙 和 WSALookupServiceBegin for Service Discovery

藍牙 和 WSALookupServiceNext

適用於裝置查詢的 藍牙和 WSAQUERYSET

探索藍牙裝置和服務

WSALookupServiceBegin

WSALookupServiceNext

WSALookupServiceEnd

Blob

BTH_QUERY_DEVICE

SOCKADDR_BTH

WSAQUERYSET

Windows Sockets