USBD_STATUS
该USBD_STATUS数据类型为USB请求定义USB状态值。
的typedef LONG USBD_STATUS;
USB状态值的最显著4位被如下表中所定义。
值 | 含义 |
---|---|
00(USBD_STATUS_SUCCESS) | 请求已成功完成。 |
01(USBD_STATUS_PENDING) | 请求被挂起。 |
10或11(USBD_STATUS_ERROR) | 请求被错误完成。 |
USB状态值的至少显著28位在下表中定义。
值 | 码 | 含义 |
---|---|---|
USBD_STATUS_CRC | 0xC0000001 | CRC错误(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_BTSTUFF | 0xC0000002 | BTS误差(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_DATA_TOGGLE_MISMATCH | 0xC0000003 | 数据触发不匹配。 |
USBD_STATUS_STALL_PID | 0xC0000004 | 该设备返回摆摊包标识符(向后兼容性定义与USB 1.0) |
USBD_STATUS_DEV_NOT_RESPONDING | 0000005 | 设备没有响应(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_PID_CHECK_FAILURE | 0xC0000006 | 设备返回的数据包识别符检查失败(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_UNEXPECTED_PID | 0xC0000007 | 该装置返回了意外的数据包识别误差(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_DATA_OVERRUN | 0xC0000008 | 设备返回的数据溢出错误(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_DATA_UNDERRUN | 0xC0000009 | 设备返回的数据溢出错误(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_RESERVED1 | 0xC000000A | 保留。 |
USBD_STATUS_RESERVED2 | 0xC000000B | 保留。 |
USBD_STATUS_BUFFER_OVERRUN | 0xC000000C | 该设备返回缓冲区溢出错误(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_BUFFER_UNDERRUN | 0xC000000D | 该设备返回缓冲区欠载错误(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_NOT_ACCESSED | 0xC000000F | USB协议栈无法访问设备(定义向后兼容的USB 1.0)。 |
USBD_STATUS_FIFO | 0xC0000010 | 该设备返回一个错误FIFO(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_XACT_ERROR | 0xC0000011 | 该装置返回事务错误(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_BABBLE_DETECTED | 0xC0000012 | 该装置返回潺潺检测到的错误(与USB 1.0的向后兼容性定义)。 |
USBD_STATUS_DATA_BUFFER_ERROR | 0xC0000013 | 从00000001到0x000000FF的硬件状态代码(定义为向后兼容的USB 1.0协议栈)。 |
USBD_STATUS_NO_PING_RESPONSE | 0xC0000014 | 没有响应是从设备接收主机发送ping包。 |
USBD_STATUS_INVALID_STREAM_TYPE | 0xC0000015 | 流类型是端点无效。 |
USBD_STATUS_INVALID_STREAM_ID | 0xC0000016 | 该流标识符无效。 |
USBD_STATUS_ENDPOINT_HALTED | 0xC0000030 | 的转移已提交到正在陷入僵局的端点。 |
USBD_STATUS_INVALID_URB_FUNCTION | 0x80000200 | 无效的URB功能。 |
USBD_STATUS_INVALID_PARAMETER | 0x80000300 | 参数无效。 |
USBD_STATUS_ERROR_BUSY | 0x80000400 | 客户机驱动程序通过尝试关闭一个端点,接口或配置具有突出的手柄转移导致了错误。 |
USBD_STATUS_REQUEST_FAILED | 0x80000500 | 集线器驱动程序无法完成URB请求。 |
USBD_STATUS_INVALID_PIPE_HANDLE | 0x80000600 | 无效的管道句柄。 |
USBD_STATUS_NO_BANDWIDTH | 0x80000700 | 没有足够的带宽来打开所请求的端点。 |
USBD_STATUS_INTERNAL_HC_ERROR | 0x80000900 | 未指定的主机控制器错误。 |
USBD_STATUS_ERROR_SHORT_TRANSFER | 0x80000900 | 转印带短分组结束,但USBD_SHORT_TRANSFER_OK位未设置的管道。 |
USBD_STATUS_BAD_START_FRAME | 0xC0000A00 | 所需的起始帧是不是一个范围当前USB帧的USBD_ISO_START_FRAME_RANGE帧内的。每当这个错误时,系统将在管道上摆摊位。 |
USBD_STATUS_ISOCH_REQUEST_FAILED | 0xC0000B00 | 主机控制器返回此错误,每当在同步传输的所有数据包完整的错误。 |
USBD_STATUS_FRAME_CONTROL_OWNED | 0xC0000C00 | 集线器驱动程序返回此错误每当主机控制器帧长度控制正在使用比主控制器驱动程序等驱动程序。 |
USBD_STATUS_FRAME_CONTROL_NOT_OWNED | 0xC0000D00 | 集线器驱动程序返回如果调用者没有自己的帧长度控制和尝试释放或修改主机控制器帧长此错误。 |
USBD_STATUS_NOT_SUPPORTED | 0xC0000E00 | 不支持该请求。 |
USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR | 0xC0000F00 | 无效的配置描述符。 |
USBD_STATUS_INSUFFICIENT_RESOURCES | 0xC0001000 | 资源不足。 |
USBD_STATUS_SET_CONFIG_FAILED | 0xC0002000 | 更改设备配置的尝试失败。 |
USBD_STATUS_BUFFER_TOO_SMALL | 0xC0003000 | 缓冲区太小。 |
USBD_STATUS_INTERFACE_NOT_FOUND | 0xC0004000 | 接口没有被发现。 |
USBD_STATUS_INAVLID_PIPE_FLAGS | 0xC0005000 | 无效的管道标志。 |
USBD_STATUS_TIMEOUT | 0xC0006000 | 请求超时。 |
USBD_STATUS_DEVICE_GONE | 0xC0007000 | 该设备不再存在于系统中。 |
USBD_STATUS_STATUS_NOT_MAPPED | 0xc0008000的 | 设备总线地址没有被映射到系统存储器中。 |
USBD_STATUS_HUB_INTERNAL_ERROR | 0xC0009000 | 每当截获这是针对一些其他的设备URB集线器驱动程序返回此错误。 |
USBD_STATUS_CANCELED | 0xC0010000 | USB协议栈报告这个错误每当它完成,因为从客户端驱动程序AbortPipe请求的传输。 |
USBD_STATUS_ISO_NOT_ACCESSED_BY_HW | 0xC0020000 | 主控制器没有访问与该分组相关联的传递描述符(TD)。USB协议栈报告这个错误在同步传输数据包的数据包状态字段。 |
USBD_STATUS_ISO_TD_ERROR | 0xC0030000 | 主机控制器在传送描述符(TD)报告一个错误。USB协议栈报告这个错误在同步传输数据包的数据包状态字段。 |
USBD_STATUS_ISO_NA_LATE_USBPORT | 0xC0040000 | 客户机驱动程序按时提交的数据包,但该数据包未能按时到达微型端口驱动程序。USB协议栈报告这个错误在同步传输数据包的数据包状态字段。 |
USBD_STATUS_ISO_NOT_ACCESSED_LATE | 0xC0050000 | 客户机驱动程序没有按时提交数据包。USB协议栈报告这个错误在同步传输数据包的数据包状态字段。 |
USBD_STATUS_BAD_DESCRIPTOR | 0xC0100000 | 无效的描述符。 |
USBD_STATUS_BAD_DESCRIPTOR_BLEN | 0xC0100001 | 无效的描述符长度。 |
USBD_STATUS_BAD_DESCRIPTOR_TYPE | 0xC0100002 | 无效的描述符类型。 |
USBD_STATUS_BAD_INTERFACE_DESCRIPTOR | 0xC0100003 | 无效的接口描述。 |
USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR | 0xC0100004 | 无效的端点描述。 |
USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR | 0xC0100005 | 无效的接口关联描述符。 |
USBD_STATUS_BAD_CONFIG_DESC_LENGTH | 0xC0100006 | 无效的配置描述符的长度。 |
USBD_STATUS_BAD_NUMBER_OF_INTERFACES | 0xC0100007 | 无效数量的接口。 |
USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS | 0xC0100008 | 数无效端点。 |
USBD_STATUS_BAD_ENDPOINT_ADDRESS | 0xC0100009 | 无效的端点地址。 |
原文:https://msdn.microsoft.com/en-us/library/windows/hardware/ff539136(v=vs.85).aspx