IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (bthioctl.h)
IOCTL_BTH_SDP_ATTRIBUTE_SEARCH请求获取指定 SDP 记录的属性。
主要代码
输入缓冲区
AssociatedIrp.SystemBuffer 成员包含 BTH_SDP_ATTRIBUTE_SEARCH_REQUEST 结构,用于指定要搜索的属性的远程计算机范围以及其他关键成员。
输入缓冲区长度
的长度 BTH_SDP_ATTRIBUTE_SEARCH_REQUEST 结构。
输出缓冲区
AssociatedIrp.SystemBuffer 成员指向包含后跟可变长度的原始 SDP 流的BTH_SDP_STREAM_RESPONSE结构的缓冲区。
输出缓冲区长度
BTH_SDP_STREAM_RESPONSE 结构的长度。
状态块
如果请求成功,STATUS_BLOCK结构的 Information 成员将设置为 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 记录的大小、遵循BTH_SDP_STREAM_RESPONSE结构的原始 SDP 记录流的大小(以字节为单位)以及该流的第一个字节的信息。 可变长度流是搜索返回的 SDP 记录属性。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 版本:Windows Vista 及更高版本中_Supported。 |
标头 | bthioctl.h (包括 Bthioctl.h) |
IRQL | <= PASSIVE_LEVEL |