Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР1.doc
Скачиваний:
2
Добавлен:
04.05.2019
Размер:
75.78 Кб
Скачать

Параметры

lpFileName

Windows 95: [in] Указатель на null-terminated-строку, которая задает правильный каталог или путь и имя файла, которое может содержать символы подстановки (* и ?). Эта строка не должна превышать MAX_PATH символов.

Windows NT/2000: [in] Указатель на null-terminated-строку, которая задает правильный каталог или путь и имя файла, которое может содержать символы подстановки (* и ?).

По умолчанию существует лимит длины строки для пути в MAX_PATH символов. Этот лимит определяется тем, как функция FindFirstFile разбирает пути. Приложение может превысить этот лимит и послать в качестве пути более MAX_PATH символов вызовом Unicode-версии FindFirstFile и присоединением "\\?\" к началу пути. Строка "\\?\" сообщает функции о ненужности разбора пути; она позволяет использовать с FindFirstFileW пути длиной более MAX_PATH символов. Однако, каждый компонент пути не может быть длиннее MAX_PATH символов. Это также работает для UNC-имен. Строка "\\?\" игнорируется как часть пути. Например, "\\?\C:\myworld\private" обрабатывается как "C:\myworld\private".

lpFindFileData

[out] Указатель на структуру WIN32_FIND_DATA, в которую помещается информация о найденном файле или подкаталоге.

Возвращаемые значения

Если функция выполнилась успешно, то возвращается хендл поиска, используемый при последующих вызовах FindNextFile или FindClose.

Если функция выполнилась неудачно, то возвращается значение INVALID_HANDLE_VALUE. Для получения более подробной информации об ошибке используйте GetLastError.

Примечания

Функция FindFirstFile открывает хендл поиска и возвращает информацию о первом файле, имя которого соответствует заданному шаблону. После того, как хендл поиска получен, используйте функцию FindNextFile для поиска других файлов, которые соответствуют тому же шаблону. Когда хендл поиска больше не нужен, закройте его, используя функцию FindClose.

Эта функция ищет файлы только по имени; она не может быть использована для основанного на атрибутах поиска.

Нельзя задавать в параметре lpFileName функции FindFirstFile корневой каталог, с завершающим слешем или без него. Чтобы исследовать файлы в корневом каталоге, используйте что-нибудь вида "C:\*" и To examine files in a root directory, use something like "C:\*" и пройдите по каталогу с помощью FindNextFile. Для получения атрибутов корневого каталога используйте функцию GetFileAttributes. Добавление строки "\\?\" не разрешает доступа к корневому каталогу.

Аналогично для сетевых общих каталогов можно использовать lpFileName в виде "\\server\service\*", однако нельзя использовать lpFileName, указывающий на сам общий каталог, как, например, "\\server\service".

Для исследования любого каталога, не являющегося корневым, используйте соответствующий путь к этому каталогу без завершающего слеша. Например, аргумент "C:\windows" вернет информацию о каталоге "C:\windows", а не о любом каталоге или файле в "C:\windows". Попытка поиска с завершающим слешем в имени всегда будет неуспешной.

FindNextFile

Функция FindNextFile продолжает поиск файлов из предшествующего вызова функции FindFirstFile.

BOOL FindNextFile(

HANDLE hFindFile, // хендл поиска

LPWIN32_FIND_DATA lpFindFileData // буфер для данных

);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]