2.3.75 FSCTL_SET_INTEGRITY_INFORMATION_EX Request

The FSCTL_SET_INTEGRITY_INFORMATION_EX Request message requests that the server set the integrity state of the file or directory associated with the handle on which this FSCTL was invoked.<76>

If the file system of the volume containing the specified file or directory does not support integrity, the request MUST NOT succeed. The error code returned in this situation is specified in section 2.2.

The FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX element is as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

EnableIntegrity

A

Reserved1

Flags

Version

Reserved2

EnableIntegrity (1 byte): This field MUST be one of the following values:

Value

Meaning

0x00

The file or directory is set to not use integrity.

0x01

The file or directory is set to provide integrity using CRC32 or CRC64 checksum.

A - KeepIntegrityStateUnchanged (1 byte): This field MUST be one of the following values:

Value

Meaning

0x00

The file or directory integrity state should change based on the EnableIntegrity parameter.

0x01

The file or directory integrity state must not change.

Reserved1 (2 bytes): A 16-bit reserved value. This field MUST be set to zero and MUST be ignored.

Flags (4 bytes): A 32-bit unsigned integer that contains zero or more of the following flag values. Flag values that are unspecified in the following table SHOULD be set to 0 and MUST be ignored.

Value

Meaning

FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF

0x00000001

When set, if a checksum does not match, the associated I/O operation will not be failed.

Version (1 byte): An 8-bit value. This field MUST be set to 1.

Reserved2 (7 bytes): A 56-bit reserved value. This field MUST be set to zero and MUST be ignored.