IOCTL_BTHX_WRITE_HCI IOCTL (bthxddi.h)
IOCTL_BTHX_WRITE_HCI用于将蓝牙 ACL 数据和命令写入传输层。
主要代码
输入缓冲区
配置文件驱动程序应使用 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 |