When searching for "windows fastest way to check if a file exists" I get lots of hits that claim there is no API for it and one should use GetFileAttributes or FindFirst instead. But there is PathFileExistsA which according to the description does exactly that: Check if a file exists. It has been around since Windows 2000.   Yet, FileExists in System.Sysutils still uses GetFileAttributes.   Am I missing something? Is maybe GetFileAttributes actually faster than PathFileExistsA ?