IOCTL_BTHX_WRITE_HCI IOCTL (bthxddi.h)

IOCTL_BTHX_WRITE_HCI用于将蓝牙 ACL 数据和命令写入传输层。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

配置文件驱动程序应使用 KMDF 及其 WdfRequestRetrieveInputMemory 方法检索输入参数。 例如,若要获取输入缓冲区,

Status = WdfRequestRetrieveInputMemory(_Request, &ReqInMemory);

缓冲区描述 一个BTHX_HCI_READ_WRITE_CONTEXT 结构,该结构指定写入的类型以及与写入关联的数据。

有关详细信息,请参阅 WDK 蓝牙示例。

输入缓冲区长度

缓冲区的长度是 BTHX_HCI_READ_WRITE_CONTEXT 结构的大小。

输出缓冲区

配置文件驱动程序应使用 KMDF 及其 WdfRequestRetrieveOutputMemory 方法来检索输入参数。 例如,若要获取输出缓冲区,请执行以下命令:

Status = WdfRequestRetrieveOutputMemory(_Request, &ReqOutMemory);

缓冲区描述为 BTHX_HCI_READ_WRITE_CONTEXT 结构中指定的输入数据写入的字节数的 ULONG。

有关详细信息,请参阅 WDK 蓝牙示例。

输出缓冲区长度

缓冲区的长度是 ULONG 的大小。

状态块

如果请求成功,则 STATUS_BLOCK 结构的 Information 成员设置为输出参数中的字节数。

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

状态值 说明
STATUS_SUCCESS IOCTL 已成功完成。

注解

蓝牙堆栈发送IOCTL_BTHX_WRITE_HCI,以将 HCI ACL 数据和 HCI 命令写入控制器。

输入缓冲区指向BTHX_HCI_READ_WRITE_CONTEXT结构,其 DataLen 成员指定 Data 成员中的字节数。 Type 成员根据数据包是命令数据包还是 ACL 数据包进行设置。

要求

要求
最低受支持的客户端 支持从Windows 8开始。
标头 bthxddi.h
IRQL <= DISPATCH_LEVEL