_BRB_PSM结构(bthddi.h)

_BRB_PSM结构描述用于注册或注销的协议/服务多路复用器(PSM)。

语法

struct _BRB_PSM {
  BRB_HEADER Hdr;
  USHORT     Psm;
};

成员

Hdr

包含有关当前 BRB 的信息的 BRB_HEADER 结构。

Psm

当_BRB_PSM结构作为 BRB_REGISTER_PSM BRB 调用的输入传递时,这是配置文件驱动程序尝试注册的 PSM。 如果配置文件驱动程序将此值设置为零,则会动态生成 PSM。 如果配置文件驱动程序在 BRB_REGISTER_PSM 输入上指定了零,则在此成员的输出中包含已注册的 PSM。

当_BRB_PSM结构作为 BRB_UNREGISTER_PSM BRB 调用的输入传递时,这是配置文件驱动程序尝试注销的 PSM。 此值必须是当前注册的 PSM。 有关有效 PSM 值的详细信息,请参阅“备注”部分。

某些 PSM 保留供 Windows 使用:

SDP:0x01

RFCOMM:0x03

HID 控件:0x11

HID 数据:0x13

BNEP:0x0F

言论

若要注册 PSM,配置文件驱动程序应 生成并发送BRB_REGISTER_PSM 请求。

注册 PSM 后,配置文件驱动程序可以从远程设备接收连接通知,并且可以生成和发送 BRB_L2CA_OPEN_CHANNEL_RESPONSE 接受传入连接的请求。

配置文件驱动程序可以指定特定的 PSM,也可以通过在 Psm 成员中指定PSM_INVALID来请求动态生成 PSM。 如果配置文件驱动程序指定PSM_INVALID,则分配的 PSM 将在结构的 Psm 成员中返回。

蓝牙驱动程序堆栈为以下配置文件注册 PSM:HCRP、HID、PAN、SDP 和 RFCOMM。

有关 L2CAP 服务器和 PSM 的详细信息,请参阅 接受蓝牙配置文件驱动程序中的 L2CAP 连接

配置文件驱动程序无法注册已由另一个驱动程序注册的 PSM。 如果尝试执行此作,将返回STATUS_ALREADY_COMMITTED错误。 BRB_REGISTER_PSM 请求对 SDP 记录没有影响。 注册 PSM 后,驱动程序可以通过发送 PSM 通过 SDP 播发 PSM IOCTL_BTH_SDP_SUBMIT_RECORD IOCTL。

若要注销以前注册的 PSM,配置文件驱动程序应 生成并发送BRB_UNREGISTER_PSM 请求。 配置文件驱动程序必须指定当前已注册的 PSM。 如果配置文件驱动程序在 Psm 成员中发送值为零的BRB_REGISTER_PSM请求,则应在BRB_UNREGISTER_PSM请求中传递动态分配的 PSM 值。

BRB_UNREGISTER_PSM 请求对尝试连接到 PSM 的 SDP 记录没有影响。 配置文件驱动程序可以通过发送 来删除相关的 SDP 记录 IOCTL_BTH_SDP_REMOVE_RECORD IOCTL。

要求

要求 价值
最低支持的客户端 Windows Vista 及更高版本中的版本:_Supported。
标头 bthddi.h (包括 Bthddi.h)

另请参阅

BRB_HEADER

BRB_L2CA_OPEN_CHANNEL_RESPONSE

BRB_REGISTER_PSM

BRB_UNREGISTER_PSM

IOCTL_BTH_SDP_REMOVE_RECORD

IOCTL_BTH_SDP_SUBMIT_RECORD