Skip to content

Commit b711405

Browse files
committed
NTFSVolume: MoveFile: Use the dates and FileAttributes in $Standard_Information instead $File_Name
1 parent 1f51cad commit b711405

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

DiskAccessLibrary/FileSystems/NTFS/NTFSVolume.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -223,13 +223,14 @@ public virtual void MoveFile(FileRecord fileRecord, MftSegmentReference newParen
223223
oldParentDirectoryIndex.RemoveEntry(fileNameRecord.GetBytes());
224224
}
225225

226-
DateTime creationTime = fileRecord.FileNameRecord.CreationTime;
227-
DateTime modificationTime = fileRecord.FileNameRecord.ModificationTime;
228-
DateTime mftModificationTime = fileRecord.FileNameRecord.MftModificationTime;
229-
DateTime lastAccessTime = fileRecord.FileNameRecord.LastAccessTime;
226+
// Windows will not update the dates and FileAttributes in $File_Name as often as their counterparts in $STANDARD_INFORMATION.
227+
DateTime creationTime = fileRecord.StandardInformation.CreationTime;
228+
DateTime modificationTime = fileRecord.StandardInformation.ModificationTime;
229+
DateTime mftModificationTime = fileRecord.StandardInformation.MftModificationTime;
230+
DateTime lastAccessTime = fileRecord.StandardInformation.LastAccessTime;
230231
ulong allocatedLength = fileRecord.FileNameRecord.AllocatedLength;
231232
ulong fileSize = fileRecord.FileNameRecord.FileSize;
232-
FileAttributes fileAttributes = fileRecord.FileNameRecord.FileAttributes;
233+
FileAttributes fileAttributes = fileRecord.StandardInformation.FileAttributes;
233234
ushort packedEASize = fileRecord.FileNameRecord.PackedEASize;
234235
fileNameRecords = IndexHelper.GenerateFileNameRecords(newParentDirectory, newFileName, fileRecord.IsDirectory, m_generateDosNames, newParentDirectoryIndex, creationTime, modificationTime, mftModificationTime, lastAccessTime, allocatedLength, fileSize, fileAttributes, packedEASize);
235236
fileRecord.RemoveAttributeRecords(AttributeType.FileName, String.Empty);

0 commit comments

Comments
 (0)