CRITICAL FIX: Use Win32Api.ERROR_HANDLE_EOF (raw 38) instead of literal HRESULT 0x80070026. GetLastWin32Error() returns raw Win32 codes, not HRESULTs. This was causing EOF to never be detected, making the scan loop run forever on garbage data and return 0 records.
IndexStore: Exact match to Rust — single drive_root string (not multi-drive), Name() and NameLower() arena accessors, Finalize() with sort_unstable_by_key behavior. Remove multi-drive DriveIdx/DriveRoots divergence.
SearchEngine: Exact match to Rust — use IndexStore.Name()/NameLower()/BuildPath() arena accessors, remove parallel/Spar optimization that diverged from Rust. Single-threaded matching identical to Rust behavior.