IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL (bthioctl.h)

配置文件驱动程序使用 IOCTL_INTERNAL_BTH_SUBMIT_BRB 将蓝牙请求块 (BRB) 提交到蓝牙驱动程序堆栈。

主要代码

IRP_MJ_INTERNAL_DEVICE_CONTROL

输入缓冲区

Parameters.Others.Argument1 成员指向与配置文件驱动程序要颁发的 BRB 相对应的结构的实例的地址。 以下列表描述了与特定 BRB 对应的结构。

蓝牙请求块 (BRB) 相应的结构
BRB_HCI_GET_LOCAL_BD_ADDR

_BRB_GET_LOCAL_BD_ADDR

BRB_L2CA_REGISTER_SERVER

_BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER _BRB_L2CA_UNREGISTER_SERVER
BRB_L2CA_OPEN_CHANNEL

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_OPEN_CHANNEL_RESPONSE

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_CLOSE_CHANNEL

_BRB_L2CA_CLOSE_CHANNEL

BRB_L2CA_ACL_TRANSFER

_BRB_L2CA_ACL_TRANSFER

BRB_L2CA_UPDATE_CHANNEL

_BRB_L2CA_UPDATE_CHANNEL

BRB_L2CA_PING

_BRB_L2CA_PING

BRB_REGISTER_PSM

_BRB_PSM

BRB_UNREGISTER_PSM

_BRB_PSM

BRB_SCO_REGISTER_SERVER

_BRB_SCO_REGISTER_SERVER

BRB_SCO_UNREGISTER_SERVER

_BRB_SCO_UNREGISTER_SERVER

BRB_SCO_OPEN_CHANNEL

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_CLOSE_CHANNEL

_BRB_SCO_CLOSE_CHANNEL

BRB_SCO_TRANSFER

_BRB_SCO_TRANSFER

BRB_SCO_GET_CHANNEL_INFO

_BRB_SCO_GET_CHANNEL_INFO

BRB_SCO_GET_SYSTEM_INFO

_BRB_SCO_GET_SYSTEM_INFO

BRB_SCO_FLUSH_CHANNEL

_BRB_SCO_FLUSH_CHANNEL

BRB_ACL_GET_MODE

_BRB_ACL_GET_MODE

BRB_ACL_ENTER_ACTIVE_MODE

_BRB_ACL_ENTER_ACTIVE_MODE

BRB_GET_DEVICE_INTERFACE_STRING _BRB_GET_DEVICE_INTERFACE_STRING

输入缓冲区长度

结构的长度。

输出缓冲区

如果 BRB 返回输出,则 Parameters-Others.Argument1> 指向作为输入传递的同一 BRB。 输出在关联的 BRB 结构的成员或 BRB 结构中指定的缓冲区中返回。

输出缓冲区长度

结构的长度

状态块

如果请求成功,则 STATUS_BLOCK 结构的 Information 成员将设置为提交的蓝牙请求块的大小(以字节为单位)。 否则, 信息 成员设置为零。

Status 成员设置为下表中的值之一。

状态值 说明
STATUS_SUCCESS IOCTL 已成功完成。
STATUS_INVALID_DEVICE_REQUEST 通过 BRB 结构发送到远程设备的请求无效。
STATUS_INVALID_PARAMETER 一个或多个输入参数无效。
STATUS_INVALID_BUFFER_SIZE 或
STATUS_BUFFER_TOO_SMALL
提供的缓冲区的长度太小。
STATUS_NOT_IMPLEMENTED 堆栈尚未实现处理 BRB 所需的模块。
STATUS_NOT_SUPPORTED 堆栈不支持此 BRB。
STATUS_PENDING BRB 处于挂起状态。

注解

配置文件驱动程序使用 BRB 来处理大多数输入、输出和连接任务。 为这些任务定义了多个 BRB,每个都使用特定的相应结构。 所有 BRB 共享一个公共标头,其中包含 BRB 的类型。 蓝牙驱动程序堆栈使用 BRB 标头正确解释 BRB 的其余部分。 有关 BRB 标头的详细信息,请参阅 BRB_HEADER 结构。

有关配置文件驱动程序如何使用 BRB 与蓝牙驱动程序堆栈通信的详细信息,请参阅 生成和发送 BRB

必须在 IRQL <= PASSIVE_LEVEL 调用这些 BR。

要求

要求
最低受支持的客户端 版本:Windows Vista 及更高版本中的 _Supported。
标头 bthioctl.h (包括 BthIoctl.h)
IRQL <= PASSIVE_LEVEL

另请参阅

BRB_HEADER

BRB_TYPE

生成和发送 BRB