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

文章翻译 文章翻译
文章编号: 832430 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文介绍各种 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

属性

文章编号: 832430 - 最后修改: 2008年1月29日 - 修订: 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
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com