生成适用于 Windows 的 USB 设备的概述

本部分提供 USB 外围设备的制造商的链接。

USB 设备枚举过程

  • USB 堆栈如何枚举设备?

    Microsoft USB 驱动程序堆栈使用的枚举过程的详细说明 - 从堆栈检测到设备存在时开始,并向 PnP 管理器指示新设备已连接。

  • Windows 8 中的 USB 2.1、2.0、1.1 设备枚举更改

    USB 驱动程序堆栈中的修改支持新的 USB 功能并提高设备枚举性能。 阅读文章以了解这些微妙的更改,并使设备和固件生成器能够轻松确定枚举失败的根本原因。

Microsoft OS 描述符

USB 设备将标准描述符存储在设备的固件及其接口和终结点中。 此外,设备还可以存储类和特定于供应商的描述符。 但是,这些描述符可以包含的信息类型有限。 独立硬件供应商(IHV)通常使用 Windows 更新向用户提供各种特定于设备的信息,例如图片、图标和自定义驱动程序。

IHV 可以使用 Microsoft OS 描述符将信息存储在固件中,而不是单独提供信息。 Window 通过读取Microsoft OS 描述符来检索该信息,并使用它来安装和配置设备,而无需任何用户交互。 请参阅 USB 设备的Microsoft OS 描述符

  • Microsoft OS 1.0 描述符规范

    本文档介绍Microsoft OS 描述符。 它包括 OS 字符串描述符、扩展属性 OS 功能描述符和 OS 功能描述符格式的规范。

  • Microsoft OS 2.0 描述符规范

    本文档定义并描述 Microsoft OS 描述符版本 2.0 的实现。 Microsoft OS 2.0 描述符的目标是解决 OS 描述符版本 1.0 的限制和可靠性问题,并为 USB 设备启用新的特定于 Windows 的功能。

  • 使用 Microsoft OS 描述符将 Winusb.sys 加载为函数驱动程序

    IHV 可以定义某些 Microsoft 操作系统 (OS) 功能描述符,这些描述符将兼容 ID 报告为 WINUSB。 这些描述符允许 Windows 在没有自定义 INF 文件的情况下将 Winusb.sys 加载为设备的函数驱动程序。 有关如何定义兼容 ID 的示例,请参阅扩展 Compat ID OS 功能描述符规范的示例部分。 此规范包含在 Microsoft OS 1.0 描述符规范的下载中。

设置容器 ID

  • USB 设备的容器 ID

    描述如何生成通用串行总线(USB)设备的容器 ID。

  • Windows 中的 USB ContainerID

    设备制造商编程其多功能 USB 设备的指南,以便 Windows 正确检测到它们。

  • 如何为 USB 设备生成容器 ID

    博客文章介绍了设备如何报告容器 ID,以便 Windows 在 设备和打印机 中正确枚举和显示设备。 对于支持多个功能(复合设备)或组件(复合设备)的设备,设备必须为每个部分报告相同的 ID。 设备必须在Microsoft OS ContainerID 描述符中报告 ID。

实现电源管理

  • 在 USB 3.0 硬件 链接电源管理

    本文档为硬件供应商和 OEM 提供了一些指南,这些指南将链接电源管理(LPM)与选择性挂起结合使用,为 USB 设备实施电源管理。 它介绍了从 U1 到 U2 的硬件转换,并提供有关 USB 控制器、中心和设备中 LPM 实现中的常见缺陷的信息。

  • 揭示选择挂起的奥秘

    此博客文章介绍了 USB 驱动程序堆栈如何处理 USB 3.0 设备中的功能和选择性挂起。

调试和诊断工具

  • 适用于 Windows 的 USB 事件跟踪

    Windows 事件跟踪 (ETW) 是由操作系统提供的通用高速跟踪设施。 其中包括有关如何安装工具、创建跟踪文件和分析 USB 跟踪文件中的事件的信息。

  • WPP 软件跟踪

    如何使用 Windows 软件跟踪预处理器 (WPP) 的默认操作来跟踪软件组件(跟踪提供者)的操作。

  • USB 3.0 扩展 (usb3kd.dll)

    这些命令显示 USB 3.0 堆栈中三个驱动程序维护的数据结构中的信息:USB 3.0 中心驱动程序、USB 主机控制器扩展驱动程序和 USB 3.0 主机控制器驱动程序。

  • USB 2.0 扩展 (usb2kd.dll)

    这些命令显示 USB 2.0 堆栈中驱动程序维护的数据结构中的信息:USB 2.0 中心驱动程序和 USB 2.0 主机控制器驱动程序。