配置文件驱动程序实现 SCO 回调函数,以提供蓝牙驱动程序堆栈的机制,以通知配置文件驱动程序从远程设备传入的 SCO 连接请求,以及对当前打开的 SCO 连接状态的任何更改。
语法
PFNSCO_INDICATION_CALLBACK PfnscoIndicationCallback;
void PfnscoIndicationCallback(
[in] PVOID Context,
[in] SCO_INDICATION_CODE Indication,
[in] PSCO_INDICATION_PARAMETERS Parameters
)
{...}
参数
[in] Context
对于传入远程连接请求指示,这是配置文件驱动程序在配置文件驱动程序注册回调函数时 _BRB_SCO_REGISTER_SERVER 结构 IndicationCallbackContext 成员指定的上下文。 对于现有 SCO 连接的更改,这是生成并发送 BRB_SCO_OPEN_CHANNEL BRB 时由配置文件驱动程序指定的 CallbackContext 成员。
[in] Indication
指示 SCO 事件的类型的 SCO_INDICATION_CODE 值。
[in] Parameters
一个 SCO_INDICATION_PARAMETERS 结构,该结构包含基于传递给 指示 参数的值的参数信息。
返回值
没有
言论
BtAddress 成员在 Parameters 参数中传递的SCO_INDICATION_PARAMETERS结构中找到的成员表示远程设备的蓝牙地址。
可以通过两种方式注册 PFNSCO_INDICATION_CALLBACK 函数。
在第一种情况下,配置文件驱动程序充当服务器,并且必须通过 _BRB_SCO_REGISTER_SERVER 结构的 IndicationCallback 成员注册此回调函数。 然后,当远程设备尝试联系该驱动程序时,蓝牙驱动程序堆栈可以调用此函数来通知配置文件驱动程序。
第二种情况下,配置文件驱动程序充当客户端,并尝试使用 BRB_SCO_OPEN_CHANNEL BRB 连接到远程设备。 PFNSCO_INDICATION_CALLBACK 回调函数通过 回调 通过指定的 BRB 传递的 _BRB_SCO_OPEN_CHANNEL 结构成员注册,其中一个通过 IOCTL_INTERNAL_BTH_SUBMIT_BRB。
注册后,回调函数仅与 BRB 打开的通道相关联,并且该函数会通知通过打开通道向远程设备发生的作的配置文件驱动程序。 配置文件驱动程序可以注册单个函数,以将通道通知作为客户端处理,并将通知作为服务器_BRB_SCO_REGISTER_SERVER。
Parameters 参数中保存的SCO_INDICATION_PARAMETERS结构根据通过 指示 参数传递给回调函数的SCO_INDICATION_CODE值进行解释。 对于大多数通知,有一个与事件对应的SCO_INDICATION_PARAMETERS联合成员,其中包含特定于事件的参数。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista 及更高版本中的版本:_Supported。 |
目标平台 | 桌面 |
标头 | bthddi.h (包括 Bthddi.h) |
IRQL | 开发人员应将此函数编码为在 IRQL = DISPATCH_LEVEL(如果回调函数无法访问分页内存),或者 IRQL = PASSIVE_LEVEL(如果回调函数必须访问分页内存) |