6 Appendix A: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

  • Windows 7 operating system with Service Pack 1 (SP1)

  • Windows Server 2008 R2 operating system with Service Pack 1 (SP1)

  • Windows 8 operating system

  • Windows Server 2012 operating system

  • Windows 8.1 operating system

  • Windows Server 2012 R2 operating system

  • Windows 10 operating system

  • Windows Server 2016 operating system

  • Windows Server operating system

  • Windows Server 2019 operating system

  • Windows Server 2022 operating system

  • Windows 11 operating system

  • Windows Server 2025 operating system

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 2.2.1: The server-side implementation of this protocol is applicable to Windows 7 Enterprise operating system with Service Pack 1 (SP1), Windows 7 Ultimate operating system with Service Pack 1 (SP1), Windows 8 Enterprise operating system, Windows Server 2012, Windows 8.1 Enterprise, Windows Server 2012 R2, Windows Server 2016, Windows Server operating system, and Windows Server 2019. The client-side implementation of this protocol is applicable to Windows 7 SP1, Windows Server 2008 R2 SP1, Windows 8, Windows Server 2012, Windows 8.1, Windows Server 2012 R2, and Windows 10.

<2> Section 2.2.9.1.3: The field MaximumTransferSize of USBD_PIPE_INFORMATION is ignored.

<3> Section 3.1.2: The timer is implemented only in Windows 8.

<4> Section 3.3.5.3.9: If a device responds with a Request Error, Windows issues a single-ended Zero Reset. This ensures that the device recovers if it enters an unknown state.

<5> Section 3.3.5.3.9: To verify that the request has retrieved an OS string descriptor on Windows:

  1. Examine the Signature value to ensure that it corresponds to a valid Windows OS descriptor string signature. If Signature does contain a valid signature, Windows does not parse the descriptor any further. Version 1.00 has only one valid signature: 'MSFT100'.

  2. Extract the version number from Signature and verify that the descriptor has the correct length for that version.