5 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.

The terms "earlier" and "later", when used with a product version, refer to either all preceding versions or all subsequent versions, respectively. The term "through" refers to the inclusive range of versions. Applicable Microsoft products are listed chronologically in this section.

Windows Client

  • Windows NT 4.0 operating system

  • Windows 98 operating system

  • Windows 2000 Professional operating system

  • Windows Millennium Edition operating system

  • Windows XP operating system

  • Windows Vista operating system

  • Windows 7 operating system

  • Windows 8 operating system

  • Windows 8.1 operating system

  • Windows 10 operating system

  • Windows 11 operating system

Windows Server

  • Windows 2000 Server operating system

  • Windows Server 2003 operating system

  • Windows Server 2008 operating system

  • Windows Server 2008 R2 operating system

  • Windows Server 2012 operating system

  • Windows Server 2012 R2 operating system

  • Windows Server 2016 operating system

  • Windows Server operating system

  • Windows Server 2019 operating system

  • Windows Server 2022 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: For all Windows versions except Windows 98 and Windows Millennium Edition, the Header Transaction Signature Number can be nonzero if a compound file is opened and saved with the STGM_TRANSACTED flag used in one of the following APIs: StgOpenStorage, StgCreateDocfile, StgOpenStorageEx, StgCreateStorageEx. For more information about this flag and the APIs, see [MSDN-STGMC].

<2> Section 2.6.1:  When Windows sets the modified time of a root storage, it sets the modified time of the file in the file system (as described in section 2.6.2) and also sets the modified time in the root storage directory entry. When Windows retrieves the modified time of a root storage, it gets the modified time of the file in the file system but ignores the modified time in the root storage directory entry.

<3> Section 2.6.4: For Windows XP and Windows Server 2003, the compound file implementation conforms to the Unicode 3.0.1 Default Case Conversion Algorithm, simple case folding [UNICODE3.0.1], with the following exceptions.

Added or subtracted from Unicode 3.0.1

Lowercase UTF-16 code point

Uppercase UTF-16 code point

Uppercase Unicode name

Subtracted

0x280

0x01A6

LATIN LETTER YR

Subtracted

0x0195

0x01F6

LATIN CAPITAL LETTER HWAIR

Subtracted

0x01BF

0x01F7

LATIN CAPITAL LETTER WYNN

Subtracted

0x01F9

0x01F8

LATIN CAPITAL LETTER N WITH GRAVE

Subtracted

0x0219

0x0218

LATIN CAPITAL LETTER S WITH COMMA BELOW

Subtracted

0x021B

0x021A

LATIN CAPITAL LETTER T WITH COMMA BELOW

Subtracted

0x021D

0x021C

LATIN CAPITAL LETTER YOGH

Subtracted

0x021F

0x021E

LATIN CAPITAL LETTER H WITH CARON

Subtracted

0x0223

0x0222

LATIN CAPITAL LETTER OU

Subtracted

0x0225

0x0224

LATIN CAPITAL LETTER Z WITH HOOK

Subtracted

0x0227

0x0226

LATIN CAPITAL LETTER A WITH DOT ABOVE

Subtracted

0x0229

0x0228

LATIN CAPITAL LETTER E WITH CEDILLA

Subtracted

0x022B

0x022A

LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON

Subtracted

0x022D

0x022C

LATIN CAPITAL LETTER O WITH TILDE AND MACRON

Subtracted

0x022F

0x022E

LATIN CAPITAL LETTER O WITH DOT ABOVE

Subtracted

0x0231

0x0230

LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON

Subtracted

0x0233

0x0232

LATIN CAPITAL LETTER Y WITH MACRON

Subtracted

0x03DB

0x03DA

GREEK LETTER SIGMA

Subtracted

0x03DD

0x03DC

GREEK LETTER DIGAMMA

Subtracted

0x03DF

0x03DE

GREEK LETTER KOPPA

Subtracted

0x03E1

0x03E0

GREEK LETTER SAMPI

Subtracted

0x0450

0x0400

CYRILLIC CAPITAL LETTER IE WITH GRAVE

Subtracted

0x045D

0x040D

CYRILLIC CAPITAL LETTER I WITH GRAVE

Subtracted

0x048D

0x048C

CYRILLIC CAPITAL LETTER SEMISOFT SIGN

Subtracted

0x048F

0x048E

CYRILLIC CAPITAL LETTER ER WITH TICK

Subtracted

0x04ED

0x04EC

CYRILLIC CAPITAL LETTER E WITH DIAERESIS

Added

0x03C2

0x03A3

GREEK CAPITAL LETTER SIGMA

Subtracted

0x03C2

0x03C2

GREEK SMALL LETTER FINAL SIGMA

For Windows Vista and later and for Windows Server 2008 and later, the compound file implementation conforms to the Unicode 5.0 Default Case Conversion Algorithm, simple case folding [UNICODE5.0.0], with the following exceptions.

Added or subtracted from Unicode 5.0

Lowercase UTF-16 code point

Uppercase UTF-16 code point

Uppercase Unicode name

Added

0x023A

02C65

LATIN SMALL LETTER A WITH STROKE

Subtracted

0x023A

0x023A

LATIN CAPITAL LETTER A WITH STROKE

Added

0x2C65

0x2C65

LATIN SMALL LETTER A WITH STROKE

Subtracted

0x2C65

0x023A

LATIN CAPITAL LETTER A WITH STROKE

Added

0x023E

0x2C66

LATIN SMALL LETTER T WITH DIAGONAL STROKE

Subtracted

0x023E

0x023E

LATIN CAPITAL LETTER T WITH DIAGONAL STROKE

Added

0x2C66

0x2C66

LATIN SMALL LETTER T WITH DIAGONAL STROKE

Subtracted

0x2C66

0x023E

LATIN CAPITAL LETTER T WITH DIAGONAL STROKE

Added

0x03C2

0x03A3

GREEK CAPITAL LETTER SIGMA

Subtracted

0x03C2

0x03C2

GREEK SMALL LETTER FINAL SIGMA

Added

0x03C3

0x03A3

GREEK CAPITAL LETTER SIGMA

Subtracted

0x03C3

0x03C2

GREEK SMALL LETTER FINAL SIGMA

Added

0x1FC3

0x1FC3

GREEK SMALL LETTER ETA WITH PROSGEGRAMMENI

Subtracted

0x1FC3

0x1FCC

GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI

Added

0x1FCC

0x1FC3

GREEK SMALL LETTER ETA WITH PROSGEGRAMMENI

Subtracted

0x1FCC

0x1FCC

GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI

Ignored

any code point > 0xFFFF

same value (itself)