BUGCODE_USB3_DRIVER 参数
参数 1 | 参数 2 | 参数 3 | 参数 4 | 错误原因 |
---|---|---|---|---|
0x1 | 可选的。指向用于重新发送 URB 的 IRP 的指针 | 指向 URB 的指针 | 指向客户端驱动程序的设备对象的指针 | 客户端驱动程序使用了之前发送到核心堆栈的 URB。 |
0x2 | 指向引导设备的物理设备对象 (PDO) 的指针 | 保留 | 保留 | 引导或者分页设备重新枚举失败。 |
0x3 | 可选的。指向用于发送 URB 的 IRP 的指针 | 指向损坏的 URB 的指针 | 指向客户端驱动程序的设备对象的指针 | 客户端驱动程序将损坏的 URB 发送到核心堆栈。这可能是因为客户端驱动程序没有使用 USBD_xxxUrbAllocate 分配 URB,或者因为客户端驱动程序为 URB 执行了缓冲区不足。 |
0x800 | 发送开放静态流请求的 IRQL | 指向开放静态流 IRP 的指针 | 指向客户端驱动程序的设备对象的指针 | 在 IRQL > PASSIVE LEVEL 发送了一个开放静态流请求。 |
0x801 | 指向开放静态流 IRP 的指针 | 指向开放静态流 URB 的指针 | 指向客户端驱动程序的设备对象的指针 | 客户端驱动程序在查询流功能之前尝试打开静态流。客户端驱动程序在成功查询流功能之前无法打开静态流。有关详细信息,请参阅备注。 |
0x802 | 客户端驱动程序尝试打开的静态流数 | 授予客户端驱动程序的静态流数 | 指向客户端驱动程序的设备对象的指针 | 客户端驱动程序试图打开无效数量的静态流。流的数量不能为 0,并且不能大于查询 USB 功能调用中返回给客户端驱动程序的值。 |
0x803 | 指向开放静态流 IRP 的指针 | 指向开放静态流 URB 的指针 | 指向客户端驱动程序的设备对象的指针 | 客户端驱动程序尝试为已经打开静态流的端点打开静态流。在打开静态流之前,客户端驱动程序必须关闭之前打开的静态流。 |
0x804 | 泄露的句柄上下文。运行 !usbanalyze -v 以获取有关泄漏句柄和 URB 的信息。我们必须为客户端驱动程序启用驱动程序验证程序。 | 传递给 USBD_CreateHandle 的设备对象。 | 保留 | 客户端驱动程序忘记关闭它之前使用 USBD_CreateHandle 创建的句柄或者忘记释放它分配的 URB。 |
0x805 | 关闭静态流 URB 的 WDFREQUEST 句柄 | 指向关闭静态流 URB 的指针 | 指向客户端驱动程序的设备对象的指针 | 客户端驱动程序发送了处于无效状态的关闭静态流 URB(例如,在处理 D0 退出之后)。 |
0x806 | 指向 IRP 的指针 | 指向 URB 的指针 | 指向客户端驱动程序的设备对象的指针 | 客户端驱动程序在查询链接的 MDL 功能之前尝试发送链接的 MDL。在成功查询链接的 MDL 功能之前,客户端驱动程序无法发送链接的 MDL。有关详细信息,请参阅备注。 |
0x807 | 指向链接的 MDL 的指针 | 指向 URB 的指针 | 指向客户端驱动程序设备对象的指针(如果可用) | 客户端驱动程序将 URB 发送到核心堆栈,其传输缓冲区长度大于传入的 MDL 的字节数(由 MmGetMdlByteCount 返回)。有关详细信息,请参阅备注。 |
0x1001 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | xHCI 控制器置位 HSE 位,指示主机系统错误。 |
0x1002 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | xHCI 控制器置位 HCE 位,表示主机控制器错误。 |
0x1003 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | xHCI 停止端点命令返回未处理的完成代码。 |
0x1004 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 发出 xHCI 端点停止命令后,xHCI 端点状态收到上下文状态错误。 |
0x1005 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 尝试清除控制端点上的停顿期间,设置出队指针失败。 |
0x1006 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 在尝试清除控制端点上的停顿期间,重置 EP 失败。 |
0x1007 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 重置恢复期间 xHCI 控制器的重置失败。 |
0x1008 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 在重置恢复期间重新启动 xHCI 控制器失败。 |
0x1009 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 命令超时中止后,xHCI 控制器命令未能完成。 |
0x100A | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 在端点停止完成后尝试设置出队指针期间设置出队指针失败。 |
0x100B | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | xHCI 控制器在复位恢复期间停止失败。 |
0x100C | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 不支持 xHCI 控制器中的固件。除非更新固件,否则 xHCI 驱动程序不会加载到此控制器上。 |
0x100D | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 检测到控制器已被物理移除。 |
0x100E | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 驱动程序在启用流的端点上检测到错误。 |
0x100F | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | xHCI 控制器中的固件已过时。xHCI 驱动程序将继续使用此控制器,但可能会遇到一些问题。建议进行固件更新。 |
0x1010 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 传输事件 TRB 以未处理的完成代码完成。 |
0x1011 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 控制器报告事件环已满。当发生这种情况时,控制器也会丢弃事件。 |
0x1012 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 控制器无序完成了一个命令。 |
0x1013 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 命令中止完成后,控制器上报的命令环出队指针不正确。 |
0x1014 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 启用插槽完成后,控制器给了我们一个错误的插槽 ID。 |
0x1015 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 控制器未能通过 BSR1 执行 SetAddress 命令。这是出乎意料的。 |
0x1016 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 在 USB 设备重置期间,控制器无法启用插槽。这是出乎意料的。 |
0x1017 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 控制器在我们取消配置端点的端点配置命令失败。这是出乎意料的。 |
0x1018 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 控制器无法执行禁用插槽命令。这是出乎意料的。 |
0x1019 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 控制器未能执行 USB 设备重置命令。这是出乎意料的。 |
0x101A | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 端点复位后,Set Dequeue Pointer 命令失败。 |
0x101B | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | xHCI 重置端点命令返回了未处理的完成代码。 |
0x101C | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | xHCI 的 D0Entry 失败。 |
0x101D | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 在请求取消期间使用配置端点命令而不是设置出队指针时,临时删除和添加流端点(作为两个命令)失败。 |
0x101E | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 控制器指示控制器上未挂起的传输完成。EventData == 1(取消引用传输事件 TRB 的指针会导致错误检查) |
0x101F | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 控制器指示控制器上未挂起的传输完成。EventData == 0(传输事件 TRB 中的逻辑地址不匹配) |
0x1020 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 控制器指示控制器上未挂起的传输完成。EventData == 0(传输事件 TRB 中的逻辑地址不匹配)传输事件 TRB 可能是多余的(指向最近完成的请求附近的某处)。 |
0x1021 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 当使用配置端点命令作为重置未停止的端点的一部分时,临时删除和添加流端点(作为两个命令)失败。 |
0x1022 | XHCI_LIVEDUMP_CONTEXT | 保留 | 保留 | 删除和添加相同的端点(作为一个命令)失败。 |
0x3000 | USBHUB3_LIVEDUMP_CONTEXT | 保留 | 保留 | 集线器驱动程序成功重置了行为异常的集线器。 |
0x3001 | USBHUB3_LIVEDUMP_CONTEXT | 保留 | 保留 | 集线器驱动程序未能成功重置行为异常的集线器。 |
0x3002 | USBHUB3_LIVEDUMP_CONTEXT | 保留 | 保留 | 集线器驱动程序禁用了无功能的 SuperSpeed 集线器。 |
0x3003 | USBHUB3_LIVEDUMP_CONTEXT | 保留 | 保留 | USB 设备枚举失败。 |
https://onitroad.com 更多教程
注释
若要查询 USB 功能,客户端驱动程序必须调用 WdfUsbTargetDeviceQueryUsbCapability 或者 USBD_QueryUsbCapability
要发送链接的 MDL,客户端驱动程序必须调用 USBD_QueryUsbCapability 并使用 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL 或者 URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL。
BUGCODE_USB3_DRIVER 错误检查的值为 0x00000144.
这是用于所有 USB 3 错误检查的代码。
参数1指定USB 3错误检查的类型,其他参数的含义取决于参数1.
日期:2020-09-17 00:16:18 来源:oir作者:oir