[MS-FSCC]: File System Control Codes

This topic lists Errata found in [MS-FSCC] since it was last published. Since this topic is updated frequently, we recommend that you subscribe to this RSS feed to receive update notifications.

Errata are subject to the same terms as the Open Specifications documentation referenced.

RSS

To view a PDF file of the errata for the previous versions of this document, see the following ERRATA Archives:

October 16, 2015 - Download

June 30, 2015 - Download

July 18, 2016 - Download

June 1, 2017 - Download

September 15, 2017 - Download

December 1, 2017 - Download

September 12, 2018 - Download

September 23, 2019 - Download

March 4, 2020 - Download

August 24, 2020 – Download

April 7, 2021 - Download

Errata below are for Protocol Document Version V52.0 – 2022/04/29.

Errata Published*

Description

2023/02/14

In MS-FSCC, added a new section documenting the FSCTL_VIRTUAL_STORAGE_QUERY_PROPERTY:

Changed to:

2.3.91   FSCTL_VIRTUAL_STORAGE_QUERY_PROPERTY Request

This request contains a message with the same structure as the IOCTL_STORAGE_QUERY_PROPERTY request (section 2.8.1) with the following values:

PropertyId (4 bytes): 0x00000004

QueryType (4 bytes): 0x00000000

Remote servers SHOULD ignore this request.<86>

<86> Section 2.3.91: All Windows Server versions return STATUS_NOT_IMPLEMENTED.

2023/01/30

In section 2.4.7, revised behavior notes 97 through 100 to indicate the responses to a -2 value for certain attributes on different file systems.

Changed from:

<97> Section 2.4.7: The file system updates the values of the LastAccessTime, LastWriteTime, and ChangeTime members as appropriate after an I/O operation is performed on a file. However, a driver or application can request that the file system not update one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -1. A driver or application can subsequently request that the file system resume updating one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -2. The caller can set one, all, or any other combination of these three members to -1 and/or -2. Only the members that are set to -1 will be unaffected by I/O operations on the file handle; the other members will be updated as appropriate. This behavior is consistent across all file system types. Note that even though -1 and -2 can be used with the CreationTime field, they have no effect because file creation time is never updated in response to file system calls such as read and write.

File system

Support value of -2

FAT

No

EXFAT

No

FAT32

No

Cdfs

No

UDFS

No

NTFS

Windows 8.1 and later, Windows Server 2012 R2 and later, and Windows Server v1709 operating system and later

ReFS

Windows 10 v1507 operating system and later, Windows Server 2016 and later, and Windows Server v1709 and later

<98> Section 2.4.7: The file system updates the values of the LastAccessTime, LastWriteTime, and ChangeTime members as appropriate after an I/O operation is performed on a file. However, a driver or application can request that the file system not update one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -1. A driver or application can subsequently request that the file system resume updating one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -2. The caller can set one, all, or any other combination of these three members to -1 and/or -2. Only the members that are set to -1 will be unaffected by I/O operations on the file handle; the other members will be updated as appropriate. This behavior is consistent across all file system types. Note that even though -1 and -2 can be used with the CreationTime field, they have no effect because file creation time is never updated in response to file system calls such as read and write.

File system

Support value of -2

FAT

No

EXFAT

No

FAT32

No

Cdfs

No

UDFS

No

NTFS

Windows 8.1 and later, Windows Server 2012 R2 and later and Windows Server v1709 and later

ReFS

Windows 10 v1507 and later, Windows Server 2016 and later, and Windows Server v1709 and later

<99> Section 2.4.7: The file system updates the values of the LastAccessTime, LastWriteTime, and ChangeTime members as appropriate after an I/O operation is performed on a file. However, a driver or application can request that the file system not update one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -1. A driver or application can subsequently request that the file system resume updating one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -2. The caller can set one, all, or any other combination of these three members to -1 and/or -2. Only the members that are set to -1 will be unaffected by I/O operations on the file handle; the other members will be updated as appropriate. This behavior is consistent across all file system types. Note that even though -1 and -2 can be used with the CreationTime field, they have no effect because file creation time is never updated in response to file system calls such as read and write.

File system

Support value of -2

FAT

No

EXFAT

No

FAT32

No

Cdfs

No

UDFS

No

NTFS

Windows 8.1 and later, Windows Server 2012 R2 and later and Windows Server v1709 and later

ReFS

Windows 10 v1507 and later, Windows Server 2016 and later, and Windows Server v1709 and later

<100> Section 2.4.7: The file system updates the values of the LastAccessTime, LastWriteTime, and ChangeTime members as appropriate after an I/O operation is performed on a file. However, a driver or application can request that the file system not update one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -1. A driver or application can subsequently request that the file system resume updating one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -2. The caller can set one, all, or any other combination of these three members to -1 and/or -2. Only the members that are set to -1 will be unaffected by I/O operations on the file handle; the other members will be updated as appropriate. This behavior is consistent across all file system types. Note that even though -1 and -2 can be used with the CreationTime field, they have no effect because file creation time is never updated in response to file system calls such as read and write.

File system

Support value of -2

FAT

No

EXFAT

No

FAT32

No

Cdfs

No

UDFS

No

NTFS

Windows 8.1 and later, Windows Server 2012 R2 and later and Windows Server v1709 and later

ReFS

Windows 10 v1507 and later, Windows Server 2016 and later, and Windows Server v1709 and later

Changed to:

<97> Section 2.4.7: The file system updates the values of the LastAccessTime, LastWriteTime, and ChangeTime members as appropriate after an I/O operation is performed on a file. However, a driver or application can request that the file system not update one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -1. A driver or application can subsequently request that the file system resume updating one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -2. The caller can set one, all, or any other combination of these three members to -1 and/or -2. Only the members that are set to -1 will be unaffected by I/O operations on the file handle; the other members will be updated as appropriate. This behavior is consistent across all file system types. Note that even though -1 and -2 can be used with the CreationTime field, they have no effect because file creation time is never updated in response to file system calls such as read and write.

File system

Support value of -2

FAT

No

EXFAT

No

FAT32

No

Cdfs

No

UDFS

No

NTFS

Windows 8.1 and later, and Windows Server 2012 R2 and later

ReFS

Windows 10 v1507 operating system and later, and Windows Server 2016 and later

<98> Section 2.4.7: The file system updates the value of the LastAccessTime member as appropriate after an I/O operation is performed on a file. However, a driver or application can request that the file system not update one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -1. A driver or application can subsequently request that the file system resume updating one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -2. The caller can set one, all, or any other combination of these three members to -1 and/or -2. Only the members that are set to -1 will be unaffected by I/O operations on the file handle; the other members will be updated as appropriate. This behavior is consistent across all file system types. Note that even though -1 and -2 can be used with the CreationTime field, they have no effect because file creation time is never updated in response to file system calls such as read and write.

File system

Support value of -2

FAT

No

EXFAT

No

FAT32

No

Cdfs

No

UDFS

No

NTFS

Windows 8.1 and later, and Windows Server 2012 R2 and later

ReFS

Windows 10 v1507 and later, and Windows Server 2016 and later

<99> Section 2.4.7: The file system updates the value of the LastWriteTime member as appropriate after an I/O operation is performed on a file. However, a driver or application can request that the file system not update one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -1. A driver or application can subsequently request that the file system resume updating one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -2. The caller can set one, all, or any other combination of these three members to -1 and/or -2. Only the members that are set to -1 will be unaffected by I/O operations on the file handle; the other members will be updated as appropriate. This behavior is consistent across all file system types. Note that even though -1 and -2 can be used with the CreationTime field, they have no effect because file creation time is never updated in response to file system calls such as read and write.

File system

Support value of -2

FAT

No

EXFAT

No

FAT32

No

Cdfs

No

UDFS

No

NTFS

Windows 8.1 and later, and Windows Server 2012 R2 and later

ReFS

Windows 10 v1507 and later, and Windows Server 2016 and later

<100> Section 2.4.7: The file system updates the value of the ChangeTime member as appropriate after an I/O operation is performed on a file. However, a driver or application can request that the file system not update one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -1. A driver or application can subsequently request that the file system resume updating one or more of these members for I/O operations that are performed on the caller's file handle by setting the appropriate members to -2. The caller can set one, all, or any other combination of these three members to -1 and/or -2. Only the members that are set to -1 will be unaffected by I/O operations on the file handle; the other members will be updated as appropriate. This behavior is consistent across all file system types. Note that even though -1 and -2 can be used with the CreationTime field, they have no effect because file creation time is never updated in response to file system calls such as read and write.

File system

Support value of -2

FAT

No

EXFAT

No

FAT32

No

Cdfs

No

UDFS

No

NTFS

Windows 8.1 and later, and Windows Server 2012 R2 and later

ReFS

Windows 10 v1507 and later, and Windows Server 2016 and later

2023/01/10

In section 2.3.74, FSCTL_SET_INTEGRITY_INFORMATION Reply, added STATUS_NOT_SUPPORTED to the error codes list:

Changed from:

Error code

Meaning

STATUS_INVALID_PARAMETER

0xC000000D

The input buffer length is less than the size, in bytes, of the FSCTL_SET_INTEGRITY_INFORMATION_BUFFER element; the handle is not to a file or directory; or the requested ChecksumAlgorithm field is not one of the values listed in the table for the ChecksumAlgorithm  field in the FSCTL_SET_INTEGRITY_INFORMATION Request.

STATUS_INVALID_DEVICE_REQUEST

0xC0000010

The volume does not support integrity.

STATUS_DISK_FULL

0xC000007F

The disk is full.

Changed to:

Error code

Meaning

STATUS_INVALID_PARAMETER

0xC000000D

The input buffer length is less than the size, in bytes, of the FSCTL_SET_INTEGRITY_INFORMATION_BUFFER element; the handle is not to a file or directory; or the requested ChecksumAlgorithm field is not one of the values listed in the table for the ChecksumAlgorithm  field in the FSCTL_SET_INTEGRITY_INFORMATION Request.

STATUS_INVALID_DEVICE_REQUEST

0xC0000010

The volume does not support integrity.

STATUS_DISK_FULL

0xC000007F

The disk is full.

STATUS_NOT_SUPPORTED

0xC00000BB

The file has been ghosted (allocation blocks are being  shared).

In section 2.3.75, FSCTL_SET_INTEGRITY_INFORMATION_EX Request, revised note <76> to indicate which versions support this request:

Changed from:

<76> Section 2.3.75: The FSCTL_SET_INTEGRITY_INFORMATION_EX Request message is supported only by the ReFS file system v3.2 or higher (Windows 10 v1507 operating system or higher). FSCTL_SET_INTEGRITY_INFORMATION_EX is processed as described on systems updated with [MSKB-5014019], [MSKB-5014021], [MSKB-5014022], [MSKB-5014023], [MSKB-5014701], [MSKB-5014702], or [MSKB-5014710].

Changed to:

<76> Section 2.3.75: The FSCTL_SET_INTEGRITY_INFORMATION_EX Request message is supported only by Windows Server 2022 and higher, and Windows 11, version 22H2 operating system and higher. FSCTL_SET_INTEGRITY_INFORMATION_EX is processed as described on systems updated with [MSKB-5014019], [MSKB-5014021], [MSKB-5014022], [MSKB-5014023], [MSKB-5014701], [MSKB-5014702], or [MSKB-5014710].

In section 2.3.76, FSCTL_SET_INTEGRITY_INFORMATION_EX Reply, added STATUS_NOT_SUPPORTED to the error codes list:

Changed from:

Error code

Meaning

STATUS_INVALID_PARAMETER

0xC000000D

The input buffer length is less than the size, in  bytes, of the FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX element; the handle  is not to a file or directory; or Version is not equal to 1.

STATUS_INVALID_DEVICE_REQUEST

0xC0000010

The volume does not support integrity.

STATUS_DISK_FULL

0xC000007F

The disk is full.

Changed to:

Error code

Meaning

STATUS_INVALID_PARAMETER

0xC000000D

The input buffer length is less than the size, in  bytes, of the FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX element; the handle  is not to a file or directory; or Version is not equal to 1.

STATUS_INVALID_DEVICE_REQUEST

0xC0000010

The volume does not support integrity.

STATUS_DISK_FULL

0xC000007F

The disk is full.

STATUS_NOT_SUPPORTED

0xC00000BB

The file has been ghosted (allocation blocks are being  shared).

2022/08/09

In section 2.7.1, FILE_NOTIFY_INFORMATION, revised descriptions of the values in the Action field.

Changed from:

Value

Meaning

FILE_ACTION_ADDED

0x00000001

The file was added to the directory.

FILE_ACTION_REMOVED

0x00000002

The file was removed from the directory. When a file is renamed to a different directory the client will receive this notification along with FILE_ACTION_MODIFIED.

FILE_ACTION_MODIFIED

0x00000003

The file was modified. This can be a change to the data or attributes of the file. When a file is renamed to a different directory the client will receive this notification along with FILE_ACTION_REMOVED.

Changed to:

Value

Meaning

FILE_ACTION_ADDED

0x00000001

The file was renamed, and FileName contains the new name. This notification is only sent when the rename operation changes the directory the file resides in. The client will also receive a FILE_ACTION_REMOVED notification. This notification will not be received if the file is renamed within a directory.

FILE_ACTION_REMOVED

0x00000002

The file was renamed, and FileName contains the old name. This notification is only sent when the rename operation changes the directory the file resides in. The client will also receive a FILE_ACTION_ADDED notification. This notification will not be received if the file is renamed within a directory.

FILE_ACTION_MODIFIED

0x00000003

The file was modified. This can be a change to the data or attributes of the file.

2022/05/27

In section 2.3.75, FSCTL_SET_INTEGRITY_INFORMATION_EX Request, updated list of applicable updates.

Changed from:

<76> Section 2.3.75: The FSCTL_SET_INTEGRITY_INFORMATION_EX Request message is supported only by the ReFS file system v3.2 or higher (Windows 10 v1507 operating system or higher). FSCTL_SET_INTEGRITY_INFORMATION_EX is processed as described on systems updated with [MSKB-5014019], [MSKB-5014021], [MSKB-5014022], or [MSKB-5014023].

Changed to:

<76> Section 2.3.75: The FSCTL_SET_INTEGRITY_INFORMATION_EX Request message is supported only by the ReFS file system v3.2 or higher (Windows 10 v1507 operating system or higher). FSCTL_SET_INTEGRITY_INFORMATION_EX is processed as described on systems updated with [MSKB-5014019], [MSKB-5014021], [MSKB-5014022], [MSKB-5014023], [MSKB-5014701], [MSKB-5014702], or [MSKB-5014710].

2022/05/02

In Section 2.1.5.9.34, FSCTL_SET_INTEGRITY_INFORMATION_EX, updated processing rules for system versions.

Changed from:

The server provides:<127>

<127> Section 2.1.5.9.34:  The FSCTL_SET_INTEGRITY_INFORMATION_EX operation is supported only by the ReFS file system v3.2 or higher (Windows 10 v1507 operating system or higher).

Changed to:

The server provides:<127>

<127> Section 2.1.5.9.34:  The FSCTL_SET_INTEGRITY_INFORMATION_EX operation is supported only by the ReFS file system v3.2 or higher (Windows 10 v1507 operating system or higher). FSCTL_SET_INTEGRITY_INFORMATION_EX is handled following the process in this section on systems updated with [MSKB-5014019], [MSKB-5014021], [MSKB-5014022], or [MSKB-5014023].