用于服务查询的蓝牙和 WSAQUERYSET
蓝牙使用具有各种功能的 WSAQUERYSET 结构,以方便在蓝牙命名空间 NS_BTH 中发现设备和服务。
WSALookupServiceBegin 和 WSALookupServiceNext 函数使用 WSAQUERYSET 结构来获取有关服务查询过程的数据。 下表介绍了如何为此设置 WSAQUERYSET 结构中的成员值。
成员 | 输入至 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,其中包含从蓝牙协议描述符列表 SDP 属性的第一个条目转换而来的远程服务的完整可连接地址。 如果指定了 LUP_RETURN_ADDR 则会返回。 |
lpBlob | 可选。 指向 BTH_QUERY_SERVICE 结构的指针,该结构包含用于限制搜索结果的高级参数。 如果提供,lpServiceClassId 将被忽略,而缓存查询不会成功。 |
|
相关主题
-
蓝牙和 WSALookupServiceNext
-
BLOB