_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 值的详细信息,请参阅备注部分。

某些 PPM 保留供 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 服务器和 PPM 的详细信息,请参阅在蓝牙配置文件驱动程序中接受 L2CAP Connections

配置文件驱动程序无法注册已由另一个驱动程序注册的 PSM。 如果有人尝试这样做,将返回STATUS_ALREADY_COMMITTED错误。 BRB_REGISTER_PSM请求对 SDP 记录没有影响。 注册 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