IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (bthioctl.h)

IOCTL_BTH_SDP_ATTRIBUTE_SEARCH请求获取指定 SDP 记录的属性。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

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

另请参阅

BTH_SDP_ATTRIBUTE_SEARCH_REQUEST

BTH_SDP_STREAM_RESPONSE

IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH

IOCTL_BTH_SDP_SERVICE_SEARCH