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 Vista operating system

  • Windows Server 2008 operating system

  • Windows 7 operating system

  • Windows Server 2008 R2 operating system

  • 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 1: The server-side implementation of this protocol is applicable to Windows Vista Enterprise operating system, Windows Vista operating system Ultimate, Windows Server 2008, Windows 7 Enterprise operating system, Windows 7 Ultimate operating system, Windows Server 2008 R2, Windows 8 Enterprise operating system, Windows Server 2012, Windows 8.1 Enterprise, Windows Server 2012 R2, Windows 10, Windows Server 2016, Windows Server operating system, and Windows Server 2019.

<2> Section 2.2.1.2.1: In the Windows implementation of this protocol, this value is 0x00000001.

<3> Section 2.2.1.2.1: In the Windows implementation of this protocol, this value is 0x00000005.

<4> Section 2.2.1.2.2: In the Windows implementation of this protocol, this value is 0x00000001.

<5> Section 2.2.1.2.2: In the Windows implementation of this protocol, this value is 0x00000005.

<6> Section 2.2.1.3.1.1: This field is not used in Windows Vista or Windows Server 2008.

<7> Section 2.2.1.3.1.1: This field is not used in Windows Vista or Windows Server 2008.

<8> Section 2.2.1.3.1.1: This field is not used in Windows Vista or Windows Server 2008.

<9> Section 2.2.2.3.1: In the Windows implementation of this protocol, this value is set to 0xC0000000, meaning generic read and generic write.

<10> Section 2.2.2.3.1: The Windows implementation of this protocol sets this field to 0x00000003 (OPEN_EXISTING).

<11> Section 3.1.1: When handling duplicate request IDs on the client side, the Windows implementation does not terminate the subprotocol virtual channel. Instead, it ignores the condition, which can lead to the wrong I/O request being completed and returned.

<12> Section 3.3.5.1.2.1: When handling a duplicate ClientDeviceId on the server side, the Windows implementation does not terminate the subprotocol virtual channel. Instead, it ignores the condition, which can lead to the case where the I/O is received by the wrong device on the client side.