_BRB_L2CA_REGISTER_SERVER 结构 (bthddi.h)

配置文件驱动程序使用 _BRB_L2CA_REGISTER_SERVER 结构将自身注册为能够从远程蓝牙设备接收 L2CAP 连接的服务器。

语法

struct _BRB_L2CA_REGISTER_SERVER {
  BRB_HEADER                     Hdr;
  BTH_ADDR                       BtAddress;
  USHORT                         PSM;
  ULONG                          IndicationFlags;
  PFNBTHPORT_INDICATION_CALLBACK IndicationCallback;
  PVOID                          IndicationCallbackContext;
  PVOID                          ReferenceObject;
  OUT L2CAP_SERVER_HANDLE        ServerHandle;
};

成员

Hdr

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

BtAddress

要接收其通知的远程蓝牙设备的地址。 指定接收任何传入连接的通知BTH_ADDR_NULL。

PSM

协议/服务多路复用器 (接受连接请求的 PSM) 。

IndicationFlags

一个可选的标志或标志组合,指示配置文件驱动程序是否接受配对通知以及连接通知。 下表列出了可能的标志设置。

标志 描述
INDICATION_PAIR_DEVICE 当设备配对时,配置文件驱动程序将接受通知。
INDICATION_UNPAIR_DEVICE 当设备未配对时,配置文件驱动程序将接受通知。
INDICATION_UNPERSONALIZE_DEVICE 当设备非个性化时,配置文件驱动程序将接受通知。

IndicationCallback

由配置文件驱动程序实现的 L2CAP 回调函数,蓝牙驱动程序堆栈应调用该函数,以通知配置文件驱动程序有关传入的 L2CAP 连接。

IndicationCallbackContext

要传递给 IndicationCallback 成员中指定的回调函数的上下文。

ReferenceObject

指向要传递给 ObReferenceObjectObDereferenceObject 函数的对象的指针,用于维护引用计数。 只要驱动程序堆栈可以调用 IndicationCallback 成员中指定的回调函数,配置文件驱动程序应以蓝牙驱动程序堆栈可以增加对象计数的方式提供此对象。 当配置文件驱动程序 生成并发送 时,蓝牙驱动程序堆栈将减少对象的引用计数 BRB_L2CA_UNREGISTER_SERVER 请求。

ServerHandle

L2CAP 服务器的句柄(如果成功返回)。 当配置文件驱动程序不再接收远程连接指示时,它应将此句柄传递给 BRB_L2CA_UNREGISTER_SERVER

注解

若要将自身注册为 L2CAP 服务器,配置文件驱动程序应生成并发送 BRB_L2CA_REGISTER_SERVER 请求。

配置文件驱动程序注册自身后,它应生成并发送BRB_REGISTER_PSM请求,以便蓝牙驱动程序堆栈接受来自 PSM 的连接。

如果成功,当远程设备尝试在特定 PSM 上创建与配置文件驱动程序的 L2CAP 连接时,蓝牙驱动程序堆栈可以通知配置文件驱动程序。

配置文件驱动程序可以指定 _BRB_L2CA_REGISTER_SERVER 结构的 零 Psm 成员(这意味着 PSM 未指定),配置文件驱动程序随后将发出 BRB_REGISTER_PSM BRB 以获取动态 PSM 以注册连接通知。 有关 PSM 的详细信息,请参阅 _BRB_PSM

配置文件驱动程序注册自身后,当远程设备尝试通过调用配置文件驱动程序在 IndicationCallback 成员中实现和指定的 L2CAP 回调函数时,蓝牙驱动程序堆栈可以通知它。

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

当配置文件驱动程序收到连接尝试的通知时,它应生成并发送 BRB_L2CA_OPEN_CHANNEL_RESPONSE BRB 接受或拒绝连接尝试。 有关接受或拒绝 L2CAP 连接尝试的详细信息,请参阅 _BRB_L2CA_OPEN_CHANNEL 结构。

建立连接后,配置文件驱动程序可以发出其他 BRB 来与远程设备通信。

若要停止接收远程连接通知,配置文件驱动程序应生成并发送 BRB_L2CA_UNREGISTER_SERVER 请求。

虽然此过程允许配置文件驱动程序接受传入的连接请求,但它不会使用 SDP 自动播发服务。 若要使用 SDP 播发服务,配置文件驱动程序必须使用 SDP API 提交 SDP 记录。 有关使用 SDP 播发服务的详细信息,请参阅 与 SDP 服务器通信

要求

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

另请参阅

BRB_HEADER

BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER

L2CAP 回调函数

ObDereferenceObject

ObReferenceObject