USBD_STATUS调试过USB的同学肯定见过BUS Hound里面给的各种错误提示,但是大家是否知道是什么意思呢?

USBD_STATUS
出错原因,详解如下:
 

The USBD_STATUS data type defines USB status values for USB requests.

 
typedef LONG USBD_STATUS;

The most significant 4 bits of USB status values are defined in the following table.

Value Meaning

00 (USBD_STATUS_SUCCESS)

Request was completed with success.

01 (USBD_STATUS_PENDING)

Request is pending.

10 or 11 (USBD_STATUS_ERROR)

Request was completed with an error.

The least significant 28 bits of USB status values are defined in the following table.

Value Code Meaning

USBD_STATUS_CRC

0xC0000001

CRC error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_BTSTUFF

0xC0000002

BTS error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_DATA_TOGGLE_MISMATCH

0xC0000003

Data toggle mismatch.

USBD_STATUS_STALL_PID

0xC0000004

The device returned a stall packet identifier (defined for backward compatibility with the USB 1.0)

USBD_STATUS_DEV_NOT_RESPONDING

0xC0000005

The device is not responding (defined for backward compatibility with the USB 1.0).

USBD_STATUS_PID_CHECK_FAILURE

0xC0000006

The device returned a packet identifier check failure (defined for backward compatibility with the USB 1.0).

USBD_STATUS_UNEXPECTED_PID

0xC0000007

The device returned an unexpected packet identifier error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_DATA_OVERRUN

0xC0000008

The device returned a data overrun error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_DATA_UNDERRUN

0xC0000009

The device returned a data underrun error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_RESERVED1

0xC000000A

Reserved.

USBD_STATUS_RESERVED2

0xC000000B

Reserved.

USBD_STATUS_BUFFER_OVERRUN

0xC000000C

The device returned a buffer overrun error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_BUFFER_UNDERRUN

0xC000000D

The device returned a buffer underrun error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_NOT_ACCESSED

0xC000000F

The USB stack could not access the device (defined for backward compatibility with the USB 1.0).

USBD_STATUS_FIFO

0xC0000010

The device returned a FIFO error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_XACT_ERROR

0xC0000011

The device returned a transaction error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_BABBLE_DETECTED

0xC0000012

The device returned a babble detected error (defined for backward compatibility with the USB 1.0).

USBD_STATUS_DATA_BUFFER_ERROR

0xC0000013

Hardware status codes that range from 0x00000001 to 0x000000FF (defined for backward compatibility with the USB 1.0 stack).

USBD_STATUS_NO_PING_RESPONSE

0xC0000014 No response was received from the device for a ping packet sent by the host.

USBD_STATUS_INVALID_STREAM_TYPE

0xC0000015 The stream type is invalid for the endpoint.

USBD_STATUS_INVALID_STREAM_ID

0xC0000016 The stream identifier is invalid.

USBD_STATUS_ENDPOINT_HALTED

0xC0000030

A transfer was submitted to an endpoint that is stalled.

USBD_STATUS_INVALID_URB_FUNCTION

0x80000200

Invalid URB function.

USBD_STATUS_INVALID_PARAMETER

0x80000300

Invalid parameter.

USBD_STATUS_ERROR_BUSY

0x80000400

The client driver caused an error by attempting to close an endpoint, interface, or configuration handle with outstanding transfers.

USBD_STATUS_REQUEST_FAILED

0x80000500

The hub driver cannot complete a URB request.

USBD_STATUS_INVALID_PIPE_HANDLE

0x80000600

Invalid pipe handle.

USBD_STATUS_NO_BANDWIDTH

0x80000700

There was not enough bandwidth to open a requested endpoint.

USBD_STATUS_INTERNAL_HC_ERROR

0x80000900

Unspecified host controller error.

USBD_STATUS_ERROR_SHORT_TRANSFER

0x80000900

The transfer ended with a short packet, but the USBD_SHORT_TRANSFER_OK bit is not set for the pipe.

USBD_STATUS_BAD_START_FRAME

0xC0000A00

The requested start frame is not within a range of USBD_ISO_START_FRAME_RANGE frames of the current USB frame. Whenever this error occurs, the system sets the stall bit on the pipe.

USBD_STATUS_ISOCH_REQUEST_FAILED

0xC0000B00

The host controller returns this error whenever all packets in an isochronous transfer complete with an error.

USBD_STATUS_FRAME_CONTROL_OWNED

0xC0000C00

The hub driver returns this error whenever the frame length control for the host controller is being used by a driver other than the host controller driver.

USBD_STATUS_FRAME_CONTROL_NOT_OWNED

0xC0000D00

The hub driver returns this error if the caller does not own frame length control and attempts to release or modify the host controller frame length.

USBD_STATUS_NOT_SUPPORTED

0xC0000E00

The request was not supported.

USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR

0xC0000F00

Invalid configuration descriptor.

USBD_STATUS_INSUFFICIENT_RESOURCES

0xC0001000

Insufficient resources.

USBD_STATUS_SET_CONFIG_FAILED

0xC0002000

An attempt to change the device configuration failed.

USBD_STATUS_BUFFER_TOO_SMALL

0xC0003000

The buffer is too small.

USBD_STATUS_INTERFACE_NOT_FOUND

0xC0004000

The interface was not found.

USBD_STATUS_INAVLID_PIPE_FLAGS

0xC0005000

Invalid pipe flags.

USBD_STATUS_TIMEOUT

0xC0006000

The request timed out.

USBD_STATUS_DEVICE_GONE

0xC0007000

The device is no longer present in the system.

USBD_STATUS_STATUS_NOT_MAPPED

0xC0008000

The device bus address is not mapped to system memory.

USBD_STATUS_HUB_INTERNAL_ERROR

0xC0009000

The hub driver returns this error whenever it intercepted a URB that was targeted at some other device.

USBD_STATUS_CANCELED

0xC0010000

The USB stack reports this error whenever it completed a transfer because of an AbortPipe request from the client driver.

USBD_STATUS_ISO_NOT_ACCESSED_BY_HW

0xC0020000

The host controller did not access the transfer descriptor (TD) that is associated with this packet. The USB stack reports this error in the packet status field of an isochronous transfer packet.

USBD_STATUS_ISO_TD_ERROR

0xC0030000

The host controller reported an error in the transfer descriptor (TD). The USB stack reports this error in the packet status field of an isochronous transfer packet.

USBD_STATUS_ISO_NA_LATE_USBPORT

0xC0040000

The client driver submitted the packet on time, but the packet failed to reach the miniport driver on time. The USB stack reports this error in the packet status field of an isochronous transfer packet.

USBD_STATUS_ISO_NOT_ACCESSED_LATE

0xC0050000

The client driver did not submit the packet on time. The USB stack reports this error in the packet status field of an isochronous transfer packet.

USBD_STATUS_BAD_DESCRIPTOR

0xC0100000

Invalid descriptor.

USBD_STATUS_BAD_DESCRIPTOR_BLEN

0xC0100001

Invalid descriptor length.

USBD_STATUS_BAD_DESCRIPTOR_TYPE

0xC0100002

Invalid descriptor type.

USBD_STATUS_BAD_INTERFACE_DESCRIPTOR

0xC0100003

Invalid interface descriptor.

USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR

0xC0100004

Invalid endpoint descriptor.

USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR

0xC0100005

Invalid interface association descriptor.

USBD_STATUS_BAD_CONFIG_DESC_LENGTH

0xC0100006

Invalid configuration descriptor length.

USBD_STATUS_BAD_NUMBER_OF_INTERFACES

0xC0100007

Invalid number of interfaces.

USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS

0xC0100008

Invalid number of endpoints.

USBD_STATUS_BAD_ENDPOINT_ADDRESS

0xC0100009

Invalid endpoint address.

Related topics

USB Constants and Enumerations         http://msdn.microsoft.com/zh-cn/subscriptions/ff539136

 

USB状态错误原因的更多相关文章

  1. coreseek常见错误原因及解决方法

    coreseek常见错误原因及解决方法 Coreseek 中文全文检索引擎 Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和 ...

  2. /etc/rc.d/init.d/iptables: No such file or directory 错误原因

    注:本文转载自cnblogs:一天学点的文章</etc/rc.d/init.d/iptables: No such file or directory 错误原因> RedHat Enter ...

  3. 安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details"错误.原因是启动"VisualSVN Server"失败

    安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server ...

  4. sc start service 1063 1053 错误原因

    在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数,下面是 ...

  5. http 报错码对应的错误原因

    转:http://blog.csdn.net/cutbug/article/details/4024818 1xx - 信息提示这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多 ...

  6. 微信的redirect_uri参数错误原因分析

    我们可以根据微信的开发者文档  http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 网页授权获取用户验证这一章来 ...

  7. TCP/IP 某些最常见的错误原因码 (errno)列表

    对于在基于 UNIX 的环境中的 TCP/IP 用户,下表列出了某些最常见的错误原因码 (errno).它不是完整的错误列表.可以在文件 /usr/include/sys/errno.h 中找到 Er ...

  8. [转]PLS-S-00201, identifier 'CALLDEMO.GET_EMPLOYEES' must be declared 预编译错误原因及解决办法

    $ proc sample9.pc SQLCHECK=SEMANTICS Pro*C/C++: Release 11.2.0.1.0 - Production on Tue Jan 8 15:18:4 ...

  9. ORA-04091错误原因与解决方法

    最近工作中写了一触发器报错:ORA-04091:table XX  is mutating, trigger/function may not see it. 下面通过官方文档及网友提供资料分析一下错 ...

随机推荐

  1. HDU 3660 Alice and Bob's Trip

    树形dp,这道题如果选G++的话,只输入都会超时.我是C++ 1900ms + 飘过的...但是输入优化后就快了很多了,1100ms左右.dfs按层次求最值就行了,差不多也算是博弈吧,到bob取的时候 ...

  2. linux性能分析命令和性能观察工具

  3. linux 启动network后报错:device eth0 does not seem to be present, delaying initialization

    问题背景: 在vsphere client中部署ovf模板后启动linux 的network后提示:device eth0 does not seem to be present, delaying ...

  4. UI开发--响应者链条

    一.触摸事件处理的详细过程 用户点击屏幕后产生的一个触摸事件,经过一些列的传递过程后,会找到最合适的视图控件来处理这个事件 找到最合适的视图控件后,就会调用控件的touches方法来作具体的事件处理 ...

  5. 通过编写一个简单的漏洞扫描程序学习Python基本语句

    今天开始读<Python绝技:运用Python成为顶级黑客>一书,第一章用一个小例子来讲解Python的基本语法和语句.主要学习的内容有:1. 安装第三方库.2. 变量.字符串.列表.词典 ...

  6. python 整型--《Python 3程序开发指南》笔记

    参考:<Python 3程序开发指南> 整数转换函数: bin(i) 返回整数i的二进制表示(字符串) hex(i) 返回i的十六进制表示(字符串) int(x) 将x转换为整数,失败产生 ...

  7. NOI2015 程序自动分析

    /* 十分简单的题面 离散化一下 然后并茶几一下就OK了 跑的死慢 可能还有更优的方法吧 */ #include<iostream> #include<cstdio> #inc ...

  8. 数据库WMI 0x80041010 如何解决?

    在你打开 SQL Server Configuration Manager遇到以下错误的时候,请参考下面提出的解决办法 solution: 打开cmd 命令窗口执行mofcomp.exe " ...

  9. share js 分享代码

    (function(){ var $doc = $(document); var shareHandlers = { 'twitter': function(prop,shareUrl){ var D ...

  10. java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist

    解决办法: maven创建项目时: META-INF目录下面新建一个xfire文件夹,把services.xml文件放到这个文件夹里,再将整个META-INF拷贝到WEB-INF中 clean一下工程 ...