你目前正处于脱机状态,正在等待 Internet 重新连接

各种操作系统上的 USB 传输的最大大小

针对 Windows XP 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Windows XP 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

针对 Windows Server 2003 的支持已于 2015 年 7 月 14 日终止。

Microsoft 已于 2015 年 7 月 14 日终止了对于 Windows Server 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

概要
本文介绍各种 Microsoft Windows 操作系统上的 USB 传输的最大大小。

Microsoft Windows 2000

在 Microsoft Windows 2000 上,USB 传输的最大大小由为 USB 设备加载的设备驱动程序决定。通过下列方式之一来确定 USB 传输的最大大小:
  • 当设备驱动程序通过 URB_FUNCTION_SELECT_CONFIGURATION 函数选择设备的配置时。
  • 当设备驱动程序通过 URB_FUNCTION_SELECT_INTERFACE 函数选择设备的替代接口时。
在大多数情况下,Windows 2000 上的 USB 传输没有硬性大小限制(除了客户端驱动程序定义的限制之外)。

Microsoft Windows XP 和 Microsoft Windows Server 2003

在 Microsoft Windows XP 和 Microsoft Windows Server 2003 上,USB 传输的最大大小由 USB 主控制器的微型端口驱动程序或 USB 端口驱动程序 (Usbport.sys) 定义。(USB 传输的最大大小不是由设备的客户端驱动程序定义。)如果您使用的传输大小超出 USB 传输的最大大小,则传输请求可能失败或在蓝屏上可能出现停止错误。

在 Windows XP 和 Windows Server 2003 上,当大容量终结点的最大传输大小小于或等于 4 KB 时,端口驱动程序会将事务分成多次传输。从理论上说,此行为可以使这些终结点的最大 USB 传输大小不受限制。不过,Microsoft 尚未测试过巨型传输,Microsoft 建议不要使用巨型传输。

注意:在 Windows XP 和 Windows Server 2003 上,USB 传输的最大大小当前不会传播到客户端驱动程序。在将来的 Windows 版本中,可能会对此行为进行更改。
更多信息

USB 传输的最大大小

Windows 2000

传输类型最大传输大小报告的错误
控制终结点 04 KBUSBD_STATUS_INVALID_PARAMETER
控制(其他终结点)64 KB不确定
中断不确定
UHCI 大容量不确定
OHCI 大容量不确定(请参见备注)
请注意下列有关在 Windows 2000 上进行传输的事项:
  • 如果您在全速常时等量终结点上使用的传输大小超出了每个 USB 请求块 (URB) 255 个数据包的限制,则可能会收到以下错误消息:
    USBD_STATUS_INVALID_PARAMETER
  • 在您编写驱动程序时,请考虑到使用大型传输时性能和资源之间的权衡。
  • 出于开放式主控制器接口 (OHCI) 驱动程序带来的资源限制的原因,Microsoft 建议不使用巨型批量传输或中断传输。
  • 默认控制终结点上的请求大小限制为 4 KB,以便与早期版本的驱动程序兼容。USB 规格将其他控制传输限制为 64 KB。然而,对于非控制终结点的 USB 驱动程序堆栈,不存在任何特定限制。在非控制终结点上指定大小超过 64 KB 的传输所产生的结果不确定。
  • 当您使用 URB_FUNCTION_SELECT_CONFIGURATION 函数设置传输的最大大小时,Windows 2000 上的复合设备所具有的最大传输大小为 4 KB。要解决此限制,驱动程序必须使用 URB_FUNCTION_SELECT_INTERFACE 函数。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    200977不能设置 USB 复合设备的最大传输大小

Windows XP 和 Windows Server 2003

下表显示的是理论限制,而不是实际限制。

注意:Microsoft 不建议使用巨型传输。
传输类型最大传输大小报告的错误
控制终结点 04 KBUSBD_STATUS_INVALID_PARAMETER
控制(其他终结点)64 KB检测错误 0xFE
中断无限制
UHCI 大容量无限制
OHCI 大容量256K检测错误 0xFE
EHCI 大容量3344K检测错误 0xFE
全速常时等量终结点限制为每个 URB 255 个数据包。高速常时等量终结点限制为每个 URB 1024 个数据包。如果您使用的传输大小超出这些限制,将收到以下 USBD 错误:
USBD_STATUS_INVALID_PARAMETER
excessive exceed huge
属性

文章 ID:832430 - 上次审阅时间:01/29/2008 05:42:00 - 修订版本: 2.2

  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • kbinfo KB832430
反馈