anshdadhich commited on
Commit
8821ae4
·
verified ·
1 Parent(s): 5cec55c

Upload FastSeekWpf/Core/MftReader.cs

Browse files
Files changed (1) hide show
  1. FastSeekWpf/Core/MftReader.cs +13 -6
FastSeekWpf/Core/MftReader.cs CHANGED
@@ -38,14 +38,21 @@ public class MftReader : IDisposable
38
  }
39
 
40
  // ------------------------------------------------------------------
41
- // Primary: direct $MFT file read (falls back to FSCTL if fails)
42
- // Matches Rust scan_direct() + scan() exactly.
 
 
 
 
 
 
 
 
 
 
 
43
  // ------------------------------------------------------------------
44
 
45
- /// <summary>
46
- /// Try direct sequential read of $MFT for maximum speed.
47
- /// Returns None if direct access is unavailable (matches Rust Option<ScanResult>).
48
- /// </summary>
49
  public ScanResult? ScanDirect()
50
  {
51
  int? recordSize = ReadMftRecordSize();
 
38
  }
39
 
40
  // ------------------------------------------------------------------
41
+ // Try direct first, fall back to FSCTL (matches Rust main.rs exactly)
42
+ // ------------------------------------------------------------------
43
+
44
+ public (ScanResult scan, string method) ScanAny()
45
+ {
46
+ var direct = ScanDirect();
47
+ if (direct != null)
48
+ return (direct, "direct");
49
+ return (Scan(), "ioctl");
50
+ }
51
+
52
+ // ------------------------------------------------------------------
53
+ // Primary: direct $MFT file read (matches Rust scan_direct())
54
  // ------------------------------------------------------------------
55
 
 
 
 
 
56
  public ScanResult? ScanDirect()
57
  {
58
  int? recordSize = ReadMftRecordSize();