Changeset 2249
- Timestamp:
- 10/23/2010 1:35:00 AM (3 years ago)
- Location:
- branches/eraser6/6.0
- Files:
-
- 5 edited
-
. (modified) (1 prop)
-
Eraser.DefaultPlugins/FileSystems/Ntfs.cs (modified) (1 diff)
-
Eraser.DefaultPlugins/FileSystems/Windows.cs (modified) (4 diffs)
-
Eraser.Manager/FileSystem.cs (modified) (1 diff)
-
Eraser.Util/StreamInfo.cs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eraser6/6.0
- Property svn:mergeinfo changed
/trunk/eraser (added) merged: 2150,2155,2161
- Property svn:mergeinfo changed
-
branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
r1677 r2249 202 202 get 203 203 { 204 return new DateTime(1601, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);204 return new DateTime(1601, 1, 1, 0, 0, 0, 1, DateTimeKind.Utc); 205 205 } 206 206 } -
branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs
r2158 r2249 36 36 public abstract class WindowsFileSystem : FileSystem 37 37 { 38 public override void ResetFileTimes(FileSystemInfo info) 39 { 40 //Reset the file access times: after every rename the file times may change. 41 info.SetTimes(MinTimestamp, MinTimestamp, MinTimestamp, MinTimestamp); 42 } 43 38 44 public override void DeleteFile(FileInfo info) 39 45 { … … 51 57 try 52 58 { 53 info.CreationTime = info.LastWriteTime = info.LastAccessTime = MinTimestamp;59 ResetFileTimes(info); 54 60 info.MoveTo(newPath); 55 61 ++i; … … 73 79 //Let the process locking the file release the lock 74 80 Thread.Sleep(100); 81 break; 82 83 case Win32ErrorCode.DiskFull: 84 //If the disk is full, we can't do anything except manually deleting 85 //the file, break out of this loop. 86 i = FileNameEraseTries; 75 87 break; 76 88 … … 361 373 } 362 374 } 375 finally 376 { 377 //Reset the file times 378 streamInfo.SetTimes(MinTimestamp, created, lastWrite, lastAccess); 379 } 363 380 } 364 381 -
branches/eraser6/6.0/Eraser.Manager/FileSystem.cs
r1883 r2249 190 190 191 191 /// <summary> 192 /// Resets the created, modified, accessed and last update times for the given 193 /// <paramref name="info"/>. 194 /// </summary> 195 /// <param name="info">The file to reset times.</param> 196 public abstract void ResetFileTimes(FileSystemInfo info); 197 198 /// <summary> 192 199 /// Securely deletes the file reference from the directory structures 193 200 /// as well as resetting the Date Created, Date Accessed and Date Modified -
branches/eraser6/6.0/Eraser.Util/StreamInfo.cs
r1677 r2249 387 387 } 388 388 389 return OpenHandle(mode, iAccess, share, options); 390 } 391 392 internal SafeFileHandle OpenHandle(FileMode mode, uint access, FileShare share, 393 FileOptions options) 394 { 389 395 //Sharing mode 390 396 if ((share & FileShare.Inheritable) != 0) … … 408 414 } 409 415 416 public void SetTimes(DateTime updateTime, DateTime createdTime, DateTime lastModifiedTime, 417 DateTime lastAccessedTime) 418 { 419 using (SafeFileHandle streamHandle = OpenHandle(FileMode.Open, 420 NativeMethods.FILE_WRITE_ATTRIBUTES, FileShare.ReadWrite, 421 FileOptions.None)) 422 { 423 ExtensionMethods.IO.SetTimes(streamHandle, updateTime, createdTime, 424 lastModifiedTime, lastAccessedTime); 425 } 426 } 427 410 428 /// <summary> 411 429 /// Returns the path as a string.
Note: See TracChangeset
for help on using the changeset viewer.
