2.1.5.6.3.3 FileFullDirectoryInformation

OutputBuffer is an array of one or more FILE_FULL_DIR_INFORMATION structures as described in [MS-FSCC] section 2.4.14. Entry is a parameter to this routine that points to the current FILE_FULL_DIR_INFORMATION structure to fill out. Note that the FileName field is not set in this section.

Pseudocode for the operation is as follows:

  • If OutputBufferSize is smaller than FieldOffset(FILE_FULL_DIR_INFORMATION.FileName), the operation MUST be failed with STATUS_INFO_LENGTH_MISMATCH.

  • The object store MUST process this query using the algorithm described in section 2.1.5.6.3.

  • Entry MUST be constructed as follows:

    • Entry.NextEntryOffset set to zero

    • Entry.FileIndex set to zero

    • Entry.CreationTime set to Link.CreationTime

    • Entry.LastAccessTime set to Link.LastAccessTime

    • Entry.LastWriteTime set to Link.LastModificationTime

    • Entry.ChangeTime set to Link.LastChangeTime

    • Entry.EndOfFile set to Link.FileSize

    • Entry.AllocationSize set to Link.AllocationSize

    • Entry.FileAttributes set to Link.FileAttributes

    • If Link.File.FileType is DirectoryFile or ViewIndexFile:

      • Entry.FileAttributes.FILE_ATTRIBUTE_DIRECTORY is set

    • EndIf

    • If Entry.FileAttributes has no attributes set:

      • Entry.FileAttributes.FILE_ATTRIBUTE_NORMAL is set

    • EndIf

    • If Link.FileAttributes.FILE_ATTRIBUTE_REPARSE_POINT is SET:

      • Entry.EaSize set to Link.ReparseTag

    • Else:

      • Entry.EaSize set to Link.ExtendedAttributesLength<63>

    • EndIf

      • Entry.FileNameLength set to the length, in bytes, of Link.Name