Я написал код в C ++ CLI, который может перебирать все файлы в системе.Я хочу знать, сколько файлов существует в системе программно, не считая файлы один за другим!Также ... Будет ли этот номер полезен для индикатора выполнения сканирования?
Если вы используете NTFS, вы можете вызвать FSCTL_GET_NTFS_VOLUME_DATA IoControl, чтобы получить целую кучу данных для вашего тома.Количество файлов будет не более MftValidDataLength / BytesPerFileRecordSegment.Помните, что это максимальное количество файлов, которое может быть на томе, поэтому фактическое число всегда будет меньше.
FSCTL_GET_NTFS_VOLUME_DATA
MftValidDataLength / BytesPerFileRecordSegment
Я также надеюсь, что вы будете использовать FSCTL_ENUM_USN_DATA для чтения файлов, а не для обхода дерева каталогов (что является неточным и подверженным ошибкам).В этой теме есть пример того, как кто-то делает это в C #: http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/c1550294-d121-4511-ac32-31551497f64e/
FSCTL_ENUM_USN_DATA
Это будет в значительной степени зависеть от используемой файловой системы (и административных привилегий, которыми обладает олицетворенный пользователь:))
Вы можете найти что-то здесь или вы можете дополнить свой вопрос более подробной информацией