CRITICAL FIX: ERROR_HANDLE_EOF = 38 (raw Win32), not 0x80070026 (HRESULT). GetLastWin32Error returns raw codes. Rust windows-rs wraps as HRESULT which confused the original port.
FIX CRITICAL BUG: Correct FSCTL hex constants. Was 0x900B03/0x900F44, correct is 0x900B3/0x900F4. This caused DeviceIoControl to return ERROR_INVALID_FUNCTION(1), making MFT scan return 0 records.