2.1.5.11.3 FileAllInformation

OutputBuffer is of type FILE_ALL_INFORMATION as described in [MS-FSCC] 2.4.2.

Pseudocode for the operation is as follows:

  • If OutputBufferSize is smaller than BlockAlign(FieldOffset(FILE_ALL_INFORMATION.NameInformation.FileName) + 2, 8), the operation MUST be failed with STATUS_INFO_LENGTH_MISMATCH.

  • The object store MUST populate the fields of OutputBuffer as follows:

    • OutputBuffer.BasicInformation MUST be filled using the algorithm described in section 2.1.5.11.6.

    • OutputBuffer.StandardInformation MUST be filled using the operation described in section 2.1.5.11.27.

    • OutputBuffer.InternalInformation MUST be filled using the operation described in section 2.1.5.11.17.

    • OutputBuffer.EaInformation MUST be filled using the operation described in section 2.1.5.11.10.

    • OutputBuffer.AccessInformation MUST be filled using the operation described in section 2.1.5.11.1.

    • OutputBuffer.PositionInformation MUST be filled using the operation described in section 2.1.5.11.23.

    • OutputBuffer.ModeInformation MUST be filled using the operation described in section 2.1.5.11.18.

    • OutputBuffer.AlignmentInformation MUST be filled using the operation described in section 2.1.5.11.2.

    • OutputBuffer.NameInformation MUST be filled using the operation described in section 2.1.5.11.19, saving the returned ByteCount in NameInformationLength and the returned Status in NameInformationStatus.

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

    • ByteCount set to FieldOffset(FILE_ALL_INFORMATION.NameInformation) + NameInformationLength.

    • Status set to NameInformationStatus.