Для "нормального" подхода, в основном, все сводится к FindFirstFile
/ FindNextFile
, на самом деле вы не получаете намного быстрее, чем это ... и это не супер-турбо-быстрое.
Если вам действительно нужна скорость, изучите чтение MFT вручную - но знайте, что для этого требуются права администратора, и он может сломаться при каждом обновлении NTFS (и , не будет работать для файловых систем не-NTFS). Возможно, вы захотите взглянуть на этот код , в котором есть USN и MFT.
Однако, возможно, есть другое решение. Если ваше приложение работает постоянно и нуждается в получении изменений, вы можете начать с одного медленного FindFirstFile
/ FindNextFile
прохода, а затем использовать поддержку уведомлений об изменениях каталогов, чтобы получать информацию об обновлениях ..., которая работает для ограниченных пользователей. и не зависит от структуры файловой системы.