InputBuffer is of type FILE_FS_CONTROL_INFORMATION, as described in [MS-FSCC] section 2.5.2.

Pseudocode for the operation is as follows:

  • If InputBufferSize is smaller than BlockAlign(sizeof(FILE_FS_CONTROL_INFORMATION), 8) the operation MUST be failed with STATUS_ INFO_LENGTH_MISMATCH.

  • Support for this operation is optional. If the object store does not implement this functionality, the operation MUST be failed with STATUS_INVALID_PARAMETER.<161>

  • If Open.File.Volume.IsQuotasSupported is FALSE, the operation MUST be failed with STATUS_VOLUME_NOT_UPGRADED.

  • Open.File.Volume MUST be updated as follows:

    • Open.File.Volume.DefaultQuotaThreshold set to InputBuffer.DefaultQuotaThreshold.

    • Open.File.Volume.DefaultQuotaLimit set to InputBuffer.DefaultQuotaLimit.

    • Open.File.Volume.VolumeQuotaState set to InputBuffer.FileSystemControlFlags. The FILE_VC_QUOTAS_INCOMPLETE and FILE_VC_QUOTAS_REBUILDING flags as well as any undefined flags are cleared from InputBuffer.FileSystemControlFlags before being saved.

  • Upon successful completion of the operation, the object store MUST return:

    • Status set to STATUS_SUCCESS.