OutputBuffer is an array of one or more FILE_ID_FULL_DIR_INFORMATION structures as described in [MS-FSCC] section 2.4.18. Entry is a parameter to this routine that points to the current FILE_ID_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_ID_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 22.214.171.124.3.
Entry MUST be constructed as follows:
Entry.NextEntryOffset set to zero
Entry.FileIndex set to zero
Entry.CreationTime set to Link.File.CreationTime
Entry.LastAccessTime set to Link.File.LastAccessTime
Entry.LastWriteTime set to Link.File.LastModificationTime
Entry.ChangeTime set to Link.File.LastChangeTime
Entry.EndOfFile set to DefaultStream.Size
Entry.AllocationSize set to DefaultStream.AllocationSize
Entry.FileAttributes set to Link.File.FileAttributes
If Link.File.FileType is DirectoryFile:
Entry.FileAttributes.FILE_ATTRIBUTE_DIRECTORY is set
If Entry.FileAttributes has no attributes set:
Entry.FileAttributes.FILE_ATTRIBUTE_NORMAL is set
If Link.File.FileAttributes.FILE_ATTRIBUTE_REPARSE_POINT is SET:
Entry.EaSize set to Link.File.ReparseTag
Entry.EaSize set to Link.File.ExtendedAttributesLength<49>
Entry.FileID set to Link.File.FileId64
Entry.FileNameLength set to the length, in bytes, of Link.Name