2.1.5.10.31 FSCTL_SET_DEFECT_MANAGEMENT

The server provides:

  • Open: An Open of a DataStream.

  • InputBuffer: An array of bytes containing a Boolean as specified in [MS-FSCC] section 2.3.71.

  • InputBufferSize: The number of bytes in InputBuffer.

On completion, the object store MUST return:

  • Status: An NTSTATUS code that specifies the result.

Support for this operation is optional. If the object store does not implement this functionality or the target media is not a software defect-managed media, the operation MUST be failed with STATUS_INVALID_DEVICE_REQUEST.<122>

Pseudocode for the operation is as follows:

  • If Open.Stream.StreamType is DirectoryStream, the operation MUST be failed with STATUS_INVALID_PARAMETER.

  • If InputBufferSize is less than sizeof(Boolean) (1 byte), the operation MUST be failed with STATUS_INVALID_PARAMETER.

  • If Open.File.OpenList contains more than one Open on this stream, this operation MUST be failed with STATUS_SHARING_VIOLATION.

  • The object store MUST set Open.File.DisableDefectManagement to InputBuffer.Disable.

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

    • Status set to STATUS_SUCCESS.