Microsoft Windows CE 3.0  

FtpGetFile

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This function retrieves a file from the FTP server and stores it under the specified file name, creating a new local file in the process.

BOOL WINAPI FtpGetFile(
HINTERNET
hConnect
,
LPCTSTR
lpszRemoteFile
,
LPCTSTR
lpszNewFile
,
BOOL
fFailIfExists
,
DWORD
dwFlagsAndAttributes
,
DWORD
dwFlags
,
DWORD
dwContext
);

Parameters

hConnect
[in] Valid handle to an FTP session.
lpszRemoteFile
[in] Long pointer to a null-terminated string that contains the file name to retrieve from the remote system.
lpszNewFile
[in] Long pointer to a null-terminated string that contains the file name to create on the local system.
fFailIfExists
[in] Boolean that specifies if the function should proceed if a local file of the specified name already exists. If fFailIfExistsis TRUE and the local file exists, FtpGetFilefails.
dwFlagsAndAttributes
[in] Specifies the file attributes for the new file. Can be a combination of the FILE_ATTRIBUTE_* flags used by the CreateFilefunction.
dwFlags
[in] Specifies how the function will handle the file download. The first set of flag values indicates the conditions under which the transfer occurs. These transfer type flags can be used in combination with the second set of flags that control caching. The application can select one of these transfer type values:
Value Description
FTP_TRANSFER_TYPE_ASCII Transfers the file using FTP ASCII, Type A, transfer method. Control and formatting data is converted to local equivalents.
FTP_TRANSFER_TYPE_BINARY Transfers the file using FTP Image, Type I, transfer method. The file is transferred exactly as it exists with no changes. This is the default transfer method.
FTP_TRANSFER_TYPE_UNKNOWN Defaults to FTP_TRANSFER_TYPE_BINARY.
INTERNET_FLAG_TRANSFER_ASCII Transfers the file as ASCII.
INTERNET_FLAG_TRANSFER_BINARY Transfers the file as binary.
The following flags determine how the file caching will be done. A combination of the following flags can be used with the transfer type flag. Possible values are described in the following table.
INTERNET_FLAG_DONT_CARE Does not add the returned entity to the cache. Identical to the preferred value INTERNET_FLAG_NO_CACHE_WRITE.
INTERNET_FLAG_HYPERLINK Forces a reload if there was no Expires time and no Last-Modified time returned by the server when determining whether to reload the item from the network.
INTERNET_FLAG_MUST_CACHE_REQUEST Causes a temporary file to be created if the file cannot be cached. Identical to the preferred value INTERNET_FLAG_NEED_FILE.
INTERNET_FLAG_NEED_FILE Causes a temporary file to be created if the file cannot be cached.
INTERNET_FLAG_NO_CACHE_WRITE Does not add the returned entity to the cache.
INTERNET_FLAG_RELOAD Forces a download of the requested file, object, or directory listing from the origin server, not from the cache.
INTERNET_FLAG_RESYNCHRONIZE Causes the FTP resource to be reloaded from the server.
dwContext
[in] Specifies an application-defined value that associates this search with application data. This is used only if the application has already called InternetSetStatusCallbackto set up a status callback function. All status requests are handled synchronously.

Return Values

TRUE indicates success. FALSE indicates failure. To get extended error data, call GetLastError.

Remarks

Inetftp.dll is available only for Intel x86 processors.

FtpGetFileis a high-level routine that handles all the bookkeeping and overhead associated with reading a file from an FTP server and storing it locally. An application that needs to retrieve file data only or that requires close control over the file transfer should use the FtpOpenFileand InternetReadFilefunctions.

If the dwTransferTypeparameter specifies FILE_TRANSFER_TYPE_ASCII, translation of the file data converts control and formatting characters to local equivalents. The default transfer is binary mode, where the file is downloaded in the same format as it is stored on the server.

Both lpszRemoteFileand lpszNewFilecan be either partially or fully qualified file names relative to the current directory. A backward slash (\) or forward slash (/) can be used as the directory separator for either name. FtpGetFiletranslates the directory name separators to the appropriate character before they are used.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 2.0 and later Wininet.h   Wininet.lib
Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

CreateFile, FtpOpenFile, GetLastError, InternetReadFile, InternetSetStatusCallback