IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (bthioctl.h)
IOCTL_BTH_SDP_ATTRIBUTE_SEARCH请求获取指定 SDP 记录的属性。
主要代码
输入缓冲区
AssociatedIrp.SystemBuffer 成员包含 a BTH_SDP_ATTRIBUTE_SEARCH_REQUEST 结构,用于指定要搜索的属性的远程计算机范围和其他键成员。
输入缓冲区长度
a 的长度 BTH_SDP_ATTRIBUTE_SEARCH_REQUEST 结构。
输出缓冲区
AssociatedIrp.SystemBuffer 成员指向一个缓冲区,该缓冲区包含一个 BTH_SDP_STREAM_RESPONSE 结构,后跟可变长度的原始 SDP 流。
输出缓冲区长度
BTH_SDP_STREAM_RESPONSE 结构的长度。
状态块
如果请求成功,STATUS_BLOCK结构的 信息 成员将设置为 BTH_SDP_STREAM_RESPONSE 的大小或输出缓冲区的大小(以较小者为准)。 否则,信息 成员设置为零。
Status 成员设置为下表中的值之一。
状态值 | 描述 |
---|---|
STATUS_SUCCESS | IOCTL 已成功完成。 |
STATUS_DEVICE_NOT_CONNECTED | SDP 服务所在的设备未连接。 |
STATUS_INSUFFICIENT_RESOURCES | 没有足够的内存来完成此作。 |
STATUS_INVALID_BUFFER_SIZE | 输出缓冲区大小不正确。 |
STATUS_INVALID_PARAMETER | 输入缓冲区中的值之一无效。 |
STATUS_REQUEST_NOT_ACCEPTED | SDP 服务拒绝了请求。 |
STATUS_TOO_MANY_GUIDS_REQUESTED | SDP 服务无法处理在输入缓冲区中传递的 GUID 数。 |
言论
在大多数情况下,配置文件驱动程序可以通过调用 来合并 SDP 服务和属性搜索 IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL。 如果配置文件驱动程序必须减少通过蓝牙链接传输的 SDP 流量量,或者使用少量消息传输单元(MTU)从 SDP 服务器提取信息,则配置文件驱动程序应调用 IOCTL_BTH_SDP_SERVICE_SEARCH IOCTL 来执行服务搜索。 然后,配置文件驱动程序应调用 IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL 来执行属性搜索。
输出缓冲区中返回的BTH_SDP_STREAM_RESPONSE结构包含有关整个 SDP 记录的大小、原始 SDP 记录流的大小(以字节为单位)的信息,该流之后BTH_SDP_STREAM_RESPONSE结构以及该流的第一个字节。 可变长度流是搜索返回的 SDP 记录属性。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista 及更高版本中的版本:_Supported。 |
标头 | bthioctl.h (包括 Bthioctl.h) |
IRQL | <= PASSIVE_LEVEL |