共用方式為


適用於服務查詢的藍牙和 WSAQUERYSET

藍牙會使用 WSAQUERYSET 結構,搭配各種功能,協助探索藍牙命名空間中的裝置和服務,NS_BTH。

WSALookupServiceBeginWSALookupServiceNext 函式會使用 WSAQUERYSET 結構來取得服務查詢程式的相關數據。 下表描述如何為此目的設定 WSAQUERYSET 結構中的成員值。

成員 輸入 WSALookupServiceBegin 從 WSALookupServiceNext 傳回的值
dwSize 必須設定為 sizeofWSAQUERYSET)。 由系統傳回的 sizeofWSAQUERYSET)。
dwOutputFlags 未使用。 未使用。
lpszServiceInstanceName 未使用。 服務的顯示名稱,從藍牙 ServiceName SDP 屬性的默認語言編碼方式轉換成 UTF-8 編碼字串。 如果指定了LUP_RETURN_NAME,則傳回 。
lpServiceClassId 必填。 進行搜尋之服務最特定的單一藍牙 UUID。 例如,如果此值設定為 L2CAP 通訊協定的 UUID,則會使用目標裝置上的 L2CAP 通訊協定傳回所有服務。 如果設定為特定服務的 UUID,它只會傳回該服務的實例。 未使用。
lpVersion 未使用。 未使用。
lpszComment 未使用。 服務的描述,從藍牙 ServiceDescription SDP 屬性的預設語言編碼方式轉換成 UTF-8 編碼字串。 如果指定 LUP_RETURN_COMMENT,則傳回 。
dwNameSpace 必須是NS_BTH。 傳回NS_BTH。
lpNSProviderId 未使用。 未使用。
lpszContext 必填。 用來建立 SDP 連線並查詢服務的藍牙裝置位址。 這個值必須是使用 WSAAddressToString 函數調用所轉換的字串。 如果提供本機藍牙裝置位址,則會搜尋本機 SDP 資料庫。 未使用。
dwNumberOfProtocols 未使用。 未使用。
lpafpProtocols 未使用。 未使用。
lpszQueryString 未使用。 未使用。
dwNumberOfCsAddrs 未使用。 指出 CSADDR_INFO 結構陣列中的項目數目。
lpcsaBuffer 未使用。 CSADDR_INFO 結構的指標,其 LocalAddr.lpSockaddr 成員指向包含遠端服務完整可連線地址的 SOCKADDR_BTH,從 Bluetooth ProtocolDescriptorList SDP 屬性的第一個項目轉換。 如果指定 LUP_RETURN_ADDR,則傳回 。
lpBlob 自選。 包含進階參數以限制搜尋結果之 BTH_QUERY_SERVICE 結構的指標。 如果提供,則會忽略 lpServiceClassId,且快取查詢不會成功。
  • 如果執行服務搜尋:傳回服務句柄之 BLOB 的指標 結構。 (BLOB.cbSize)/sizeof(ULONG) 會計算句柄數目。 BLOB.pBlobData 是代表服務句柄的 ULONG 值陣列。
  • 如果執行屬性或服務Attribute 搜尋:傳回二進位 SDP 記錄 BLOB 結構的指標。 BLOB.cbSize 是二進位 SDP 記錄的大小。 BLOB.pBlobData 指向記錄本身。 在許多情況下,二進位 SDP 記錄是必要的,因為只有有限的 SDP 屬性可以轉換成 WSAQUERYSET 結構,而且只會轉換預設編碼的 UTF-8 字元串。 藍牙參考 一節會提供協助剖析二進位 SDP 記錄的函式。
  • 如果指定LUP_RETURN_BLOB,則傳回 。

 

適用於設定服務 藍牙和 WSAQUERYSET

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

藍牙和 BLOB

藍牙和 WSALookupServiceBegin

藍牙和 WSALookupServiceNext

藍牙參考

BLOB

BTH_QUERY_SERVICE

CSADDR_INFO

SOCKADDR_BTH

WSAAddressToString

WSAQUERYSET

Windows Sockets