BTH_SET_SERVICE 结构 (ws2bth.h)

BTH_SET_SERVICE 结构为指定的蓝牙服务提供服务信息。

语法

typedef struct _BTH_SET_SERVICE {
  PULONG pSdpVersion;
  HANDLE *pRecordHandle;
  ULONG  fCodService;
  ULONG  Reserved[5];
  ULONG  ulRecordLength;
  UCHAR  pRecord[1];
} BTH_SET_SERVICE, *PBTH_SET_SERVICE, BTHNS_SETBLOB, *PBTHNS_SETBLOB;

成员

pSdpVersion

SDP 的版本。 客户端将此成员设置为 BTH_SDP_VERSION。

pRecordHandle

SDP 记录的句柄。 对应于 SDP ServiceRecordHandle。 由添加记录操作返回,随后用于删除记录。

fCodService

设备 (COD) 信息的类。 与此 SDP 记录关联的COD_SERVICE_* 类设备位的 32 位字段。 系统将这些位与其他服务记录和系统特征中的 COD 位组合在一起。 当在设备查询期间找到无线电时,将播发本地无线电的生成的设备类。 删除与特定服务位关联的最后一条 SDP 记录时,不再在响应将来的设备查询时报告该服务位。

COD 字段的格式和可能值在 蓝牙规范第 1.2 节的蓝牙分配号码 1.1 部分中定义。 (此资源在某些语言和国家/地区中可能不可用。) Windows 使用的 COD_SERVICE_* 位的相应宏和定义在 Bthdef.h 中定义。 有关设备 (COD) 类的详细信息,请参阅 BTH_DEVICE_INFO

Reserved[5]

保留。 必须设置为零。

ulRecordLength

pRecord 的大小(以字节为单位)。

pRecord[1]

SDP 记录,由蓝牙规范定义。

注解

使用 BTH_SET_SERVICE 结构使用 WSASetService 函数和 WSAQUERYSETBLOB 结构查询服务和设备时。 必须使用 BTH_SET_SERVICE 成员的以下值。

有关设备类 (COD) 的详细信息,请参阅 www.bluetooth.com 上的蓝牙规范。

成员 所需的值
pSdpVersion 指向 ULONG 版本的指针,每当 SDP 记录的二进制格式更改时都会更改,从而影响 pRecord 成员的格式。 设置为 客户端的 BTH_SDP_VERSION ,由系统返回。
pRecordHandle SDP 记录的句柄;对应于 SDP ServiceRecordHandle。 由添加记录操作返回,随后用于删除记录。
fOptions 由 BTHNS_SET_FLAGS 定义的属性。
ulRecordLength pRecord 指向的二进制 SDP 记录的长度(以字节为单位)。
pRecord 指向有效 SDP 记录的指针,采用蓝牙规范定义的格式。
 

pRecordHandle 成员必须指向新服务注册为 null 的数据。 对于服务删除, pRecordHandle 必须指向有效的句柄。 pRecord 成员必须包含整个 SD 服务记录,如蓝牙规范中所述。 对于 RFCOMM 协议条目,端口号与 由 getsockname 函数调用返回的端口相同。

蓝牙在 SDP 记录和服务器套接字之间实现一对一关联。 因此,不需要 SERVICE_MULTIPLE 标志。

要求

要求
最低受支持的客户端 Windows Vista、Windows XP SP2 [仅限桌面应用]
最低受支持的服务器 无受支持的版本
标头 ws2bth.h

另请参阅

蓝牙和 getsockname

蓝牙和 BLOB

蓝牙和 WSASetService

WSAQUERYSET