Функция FtpOpenFileA (wininet.h)
Инициирует доступ к удаленному файлу на FTP-сервере для чтения или записи.
Синтаксис
HINTERNET FtpOpenFileA(
[in] HINTERNET hConnect,
[in] LPCSTR lpszFileName,
[in] DWORD dwAccess,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Параметры
[in] hConnect
Обработка сеанса FTP.
[in] lpszFileName
Указатель на строку, завершающуюся нулевым значением, которая содержит имя файла, к которому будет осуществляться доступ.
[in] dwAccess
Доступ к файлам. Этот параметр может быть GENERIC_READ или GENERIC_WRITE, но не одновременно.
[in] dwFlags
Условия, при которых происходит передача данных. Приложение должно выбрать один тип передачи и любой из флагов, указывающих, как будет контролироваться кэширование файла.
Тип передачи может иметь одно из следующих значений.
Следующие значения используются для управления кэшированием файла. Приложение может использовать одно или несколько из этих значений.
[in] dwContext
Указатель на переменную, содержащую определяемое приложением значение, которое связывает этот поиск с любыми данными приложения. Используется только в том случае, если приложение уже вызывало InternetSetStatusCallback для настройки функции обратного вызова состояния.
Возвращаемое значение
Возвращает дескриптор в случае успешного выполнения или значение NULL в противном случае. Чтобы получить определенное сообщение об ошибке, вызовите Метод GetLastError.
Комментарии
После вызова FtpOpenFile и до вызова InternetCloseHandle все остальные вызовы функций FTP в том же дескриптоле сеанса FTP завершатся ошибкой, и сообщение об ошибке будет ERROR_FTP_TRANSFER_IN_PROGRESS. После завершения работы вызывающего приложения с помощью дескриптора HINTERNET , возвращаемого ftpOpenFile, его необходимо закрыть с помощью функции InternetCloseHandle .
В одном сеансе FTP можно открыть только один файл. Таким образом, дескриптор файла не возвращается, и приложение просто использует дескриптор сеанса FTP при необходимости.
Параметр lpszFileName может быть частичным или полным именем файла относительно текущего каталога.
Как и все другие аспекты API WinINet, эту функцию нельзя безопасно вызывать из библиотеки DllMain или из конструкторов и деструкторов глобальных объектов.
Примечание
Заголовок wininet.h определяет FtpOpenFile в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wininet.h |
Библиотека | Wininet.lib |
DLL | Wininet.dll |