IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL (bthioctl.h)
IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH请求将 SDP 服务和属性搜索合并到单个操作中。 这允许调用方直接从远程设备获取 SDP 记录。
主要代码
输入缓冲区
AssociatedIrp.SystemBuffer 成员包含 IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH 结构,用于指定要与远程 SDP 服务器的连接句柄、GUID 数组以及要搜索的属性值范围。
输入缓冲区长度
的长度 IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH 结构。
输出缓冲区
AssociatedIrp.SystemBuffer 成员指向一个缓冲区,该缓冲区保存BTH_SDP_STREAM_RESPONSE结构,后跟原始 SDP 记录流。
输出缓冲区长度
BTH_SDP_STREAM_RESPONSE结构的长度。
状态块
如果请求成功,则 STATUS_BLOCK 结构的 Information 成员将设置为 SDP 响应流的大小(以字节为单位)或输出缓冲区的大小(以较小者为准)。 否则, 信息 成员设置为零。
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 记录后,可以使用 SDP 函数对其进行分析。 指向这些函数的指针由 提供 BTHDDI_SDP_PARSE_INTERFACE 接口。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 版本:Windows Vista 及更高版本中的 _Supported。 |
标头 | bthioctl.h (包括 Bthioctl.h) |
IRQL | <= PASSIVE_LEVEL |