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 > 被动级别发送开放静态流请求。 |
0x801 | 指向开放静态流的 | 指针IRP指向开放静态流的 | 指针URB指向客户端驱动程序的设备对象的指针 客户 | 端驱动程序在查询流功能之前尝试打开静态流。客户端驱动程序在成功查询流功能之前无法打开静态流。有关详细信息,请参阅备注。 |
0x802 | 客户端驱动程序尝试打开 | 的静态流数 授予客户端驱动程序的静态流数 | 指向客户端驱动程序设备对象的指针 客户端驱动 | 程序试图打开无效数量的静态流。流的数量不能为 0,并且不能大于查询 USB 功能调用中返回给客户端驱动程序的值。 |
0x803 | 指向开放静态流的 | 指针IRP指向开放静态流的 | 指针URB指向客户端驱动程序的设备对象的指针 客户 | 端驱动程序试图为已经打开静态流的端点打开静态流。在打开静态流之前,客户端驱动程序必须关闭之前打开的静态流。 |
0x804 | 泄露的句柄上下文。运行 !usbanalyze -v 以获取有关泄漏句柄和 URB 的信息。我们必须为客户端驱动程序启用驱动程序验证程序。 | 传递给 USBD_CreateHandle 的设备对象。 | 保留 | 客户端驱动程序忘记关闭它之前使用 USBD_CreateHandle 创建的句柄或者忘记释放它分配的 URB。 |
0x805 | 关闭静态流 URB 的 WDFREQUEST 句柄 | 指向关闭静态流 URB 的 | 指针 指向客户端驱动程序设备对象的指针 客户端驱动程序 | 以无效状态(例如,在处理 D0 退出后)发送了关闭静态流 URB。 |
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 设备枚举失败。 |
BUGCODE_USB3_DRIVER 错误检查的值为 0x00000144.
这是用于所有 USB 3 错误检查的代码。
参数 1 指定 USB 3 错误检查的类型,其他参数的含义取决于参数 1.
之路 on it Road.com
备注
要查询 USB 能力,客户端驱动程序必须调用 WdfUsbTargetDeviceQueryUsbCapability 或者 USBD_QueryUsbCapability
来发送链式 MDL,客户端驱动程序必须调用 USBD_QueryUsbCapability 并使用 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL 或者 URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL 。
日期:2020-09-17 00:15:40 来源:oir作者:oir