_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
指向要传递给 ObReferenceObject 和 ObDereferenceObject 函数的对象的指针,用于维护 的引用计数。 只要驱动程序堆栈可以调用 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) |