Функция FtpFindFirstFileW (wininet.h)
Выполняет поиск указанного каталога заданного сеанса FTP. Записи файлов и каталогов возвращаются приложению в структуре WIN32_FIND_DATA.
Синтаксис
HINTERNET FtpFindFirstFileW(
[in] HINTERNET hConnect,
[in] LPCWSTR lpszSearchFile,
[out] LPWIN32_FIND_DATAW lpFindFileData,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Параметры
[in] hConnect
Обработка сеанса FTP, возвращенного из InternetConnect.
[in] lpszSearchFile
Указатель на строку null-terminated, указывающую допустимый путь к каталогу или имя файла файловой системы FTP-сервера. Строка может содержать подстановочные знаки, но пустые пробелы не допускаются. Если значение lpszSearchFileNULL или если это пустая строка, функция находит первый файл в текущем каталоге на сервере.
[out] lpFindFileData
Указатель на структуру WIN32_FIND_DATA, которая получает сведения о найденном файле или каталоге.
[in] dwFlags
Управляет поведением этой функции. Этот параметр может быть сочетанием следующих значений.
INTERNET_FLAG_HYPERLINK
INTERNET_FLAG_NEED_FILE
INTERNET_FLAG_NO_CACHE_WRITE
INTERNET_FLAG_RELOAD
INTERNET_FLAG_RESYNCHRONIZE
[in] dwContext
Указатель на переменную, указывающую определяемое приложением значение, которое связывает этот поиск с любыми данными приложения. Этот параметр используется только в том случае, если приложение уже вызвало InternetSetStatusCallback для настройки функции обратного вызова состояния.
Возвращаемое значение
Возвращает допустимый дескриптор запроса, если перечисление каталога было запущено успешно или возвращает NULL в противном случае. Чтобы получить определенное сообщение об ошибке, вызовите GetLastError. Если GetLastError возвращает ERROR_INTERNET_EXTENDED_ERROR, как в случае, если функция не находит соответствующие файлы, вызовите функцию InternetGetLastResponseInfo, чтобы получить расширенный текст ошибки, как описано в обработке ошибок.
Замечания
Для FTPFindFirstFileвремя, возвращаемое в структуре WIN32_FIND_DATA, находятся в локальном часовом поясе, а не в формате UTC.
FtpFindFirstFile похож на функцию FindFirstFile. Обратите внимание, что в течение заданного сеанса FTPFindFirst File может происходить только один
После вызова FtpFindFirstFile и до вызова InternetCloseHandleприложение не может вызывать FtpFindFirstFile на заданном дескрипторе сеанса FTP. Если вызов выполняется для FTPFindFirstFile в этом дескрипторе, функция завершается ошибкой с ERROR_FTP_TRANSFER_IN_PROGRESS. После завершения вызова приложения с помощью дескриптора HINTERNET, возвращаемого FtpFindFirstFile, его необходимо закрыть с помощью функции InternetCloseHandle.
После начала перечисления каталога с
Так как протокол FTP не предоставляет стандартных средств перечисления, некоторые общие сведения о файлах, таких как дата и время создания файла, не всегда доступны или верны. В этом случае FtpFindFirstFile и InternetFindNextFile заполнить недоступные сведения с лучшим предположением на основе доступных сведений. Например, даты создания и последнего доступа часто совпадают с датой изменения файла.
Приложение не может вызывать FTPFindFirstFile между вызовами FtpOpenFile и InternetCloseHandle.
Как и все остальные аспекты API WinINet, эта функция не может быть безопасно вызвана из dllMain или конструкторов и деструкторов глобальных объектов.
Заметка
Заголовок wininet.h определяет FtpFindFirstFile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wininet.h |
библиотеки |
Wininet.lib |
DLL | Wininet.dll |
См. также
функций WinINet