服務查詢的 藍牙 和 WSAQUERYSET
藍牙 使用WSAQUERYSET 結構具有各種函式,可協助探索 藍牙 命名空間中的裝置和服務,NS_BTH。
WSALookupServiceBegin 和 WSALookupServiceNext 函式會使用 WSAQUERYSET 結構來取得服務查詢程式的相關數據。 下表說明如何為此目的,在 WSAQUERYSET 結構中設定成員值。
member | 輸入 WSALookupServiceBegin | 從 WSALookupServiceNext 傳回的值 |
---|---|---|
dwSize | 必須設定為 sizeof(WSAQUERYSET)。 | 由系統傳回的 sizeof(WSAQUERYSET)。 |
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,從藍牙 ProtocolDescriptorList SDP 屬性的第一個項目轉換。 如果 指定LUP_RETURN_ADDR ,則傳回 。 |
lpBlob | 選擇性。 包含進階參數以限制搜尋結果之BTH_QUERY_SERVICE結構的指標。 如果提供, 則會忽略 lpServiceClassId ,且快取的查詢不會成功。 |
|
相關主題
-
藍牙 和 WSALookupServiceNext