_BRB_SCO_REGISTER_SERVER 结构 (bthddi.h)

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

语法

struct _BRB_SCO_REGISTER_SERVER {
  BRB_HEADER                 Hdr;
  BTH_ADDR                   BtAddress;
  ULONG                      Reserved;
  ULONG                      IndicationFlags;
  PFNSCO_INDICATION_CALLBACK IndicationCallback;
  PVOID                      IndicationCallbackContext;
  PVOID                      ReferenceObject;
  SCO_SERVER_HANDLE          ServerHandle;
};

成员

Hdr

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

BtAddress

要接收通知的远程蓝牙设备的地址。

Reserved

保留供将来使用。 请勿使用。

IndicationFlags

一个标志,指示何时应调用 IndicationCallback 成员中指定的回调函数。 定义了以下标志。

标记 说明
SCO_INDICATION_SCO_REQUEST 如果有任何传入的 SCO 连接,请通知配置文件驱动程序。
SCO_INDICATION_ESCO_REQUEST 如果有任何传入的 eSCO 连接,请通知配置文件驱动程序。

IndicationCallback

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

IndicationCallbackContext

传递给 IndicationCallback 成员中定义的函数的上下文。

ReferenceObject

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

ServerHandle

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

注解

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

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

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

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

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

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

要求

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

另请参阅

BRB_HEADER

BRB_SCO_REGISTER_SERVER

BRB_SCO_UNREGISTER_SERVER

ObDereferenceObject

ObReferenceObject

SCO 回调函数