PFNSCO_INDICATION_CALLBACK回调函数 (bthddi.h)

配置文件驱动程序实现 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

A SCO_INDICATION_PARAMETERS 结构,其中包含基于传递给 Indication 参数的值的参数信息。

返回值

备注

参数参数中传递的 SCO_INDICATION_PARAMETERS 结构中找到的 BtAddress 成员指示远程设备的蓝牙地址。

可以通过两种方式注册 PFNSCO_INDICATION_CALLBACK 函数。

在第一种情况下,配置文件驱动程序充当服务器,并且必须通过 _BRB_SCO_REGISTER_SERVER 结构的 IndicationCallback 成员注册此回调函数。 然后,蓝牙驱动程序堆栈可以调用此函数,以便在远程设备尝试联系配置文件驱动程序时通知该驱动程序。

第二种情况下,配置文件驱动程序充当客户端,并尝试使用 BRB_SCO_OPEN_CHANNEL BRB 连接到远程设备。 PFNSCO_INDICATION_CALLBACK回调函数通过指定 BRB 一起传递的_BRB_SCO_OPEN_CHANNEL结构的 Callback 成员进行注册,其中一个通过 IOCTL_INTERNAL_BTH_SUBMIT_BRB

注册后,回调函数仅与 BRB 打开的通道相关联,并且函数会通知配置文件驱动程序通过打开通道对远程设备执行的操作。 配置文件驱动程序可以注册单个函数以客户端的形式处理通道通知,并将_BRB_SCO_REGISTER_SERVER通知作为服务器进行处理。

Parameters 参数中 保留的SCO_INDICATION_PARAMETERS结构根据通过 Indication 参数传递给回调函数的SCO_INDICATION_CODE值进行解释。 对于大多数通知,SCO_INDICATION_PARAMETERS联合成员对应于事件并包含特定于事件的参数。

要求

要求
最低受支持的客户端 版本:Windows Vista 及更高版本中_Supported。
目标平台 桌面
标头 bthddi.h (包括 Bthddi.h)
IRQL 如果回调函数无法访问分页内存) ,则开发人员应将此函数编码为在 IRQL = DISPATCH_LEVEL (下运行;如果回调函数必须访问分页) 内存,则 IRQL = PASSIVE_LEVEL (

另请参阅

BRB_SCO_OPEN_CHANNEL

IOCTL_INTERNAL_BTH_SUBMIT_BRB

SCO_INDICATION_CODE

SCO_INDICATION_PARAMETERS

_BRB_SCO_REGISTER_SERVER