Что нового

Как работает filefind?

Freha

Новичок
Сообщения
1
Репутация
0
Объяните пожалуйста как работает filefindfirstfile и filefindnextfile. Как они взаимосвязаны, что в них происходит во время вызова?
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
Freha
что непонятно было в справке в описании функций?
 

Prog

Продвинутый
Сообщения
640
Репутация
80
Работают они просто - вызывают WinAPI функции FindFirstFile и FindNextFile. А те в свою очередь обращаются к NativeAPI, которые делают запрос к драйверу диска, который обращается к драйверу файловой системы, чтобы тот сделал запрос драйверу контроллера дисков и запросил с диска требуемую информацию.
 

InnI

AutoIT Гуру
Сообщения
4,982
Репутация
1,460
Prog
Работают они просто - вызывают WinAPI функции FindFirstFile и FindNextFile.
Вы в этом точно уверены?
По указанной ссылке сказано: Функция FindFirstFile открывает дескриптор поиска и возвращает информацию о первом файле, имя которого соответствует указанному образцу. В AutoIt функция FileFindFirstFile() просто создаёт "дескриптор" поиска, а информацию по ПЕРВОМУ файлу можно узнать только после вызова FileFindNextFile(). Т.е. становится понятно, что в AutoIt функции работают несколько иначе, чем в WinAPI. И это многих путает и уже обсуждалось.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
FileFindFirstFile() является оберткой для FindFirstFile() и не более того. А что уж там она возвращает, это не принципиально. Кроме того, если директория поиска не является корневой, то FindFirstFile() и FindNextFile() всегда возвращают первым делом "." и "..", если задана маска "*" или "*.*". AutoIt функции все это нивелируют и делают поиск более удобным для пользователя.
 
Верх