Partager via


FtpGetFileA, fonction (wininet.h)

Récupère un fichier du serveur FTP et le stocke sous le nom de fichier spécifié, créant ainsi un fichier local dans le processus.

Syntaxe

BOOL FtpGetFileA(
  [in] HINTERNET hConnect,
  [in] LPCSTR    lpszRemoteFile,
  [in] LPCSTR    lpszNewFile,
  [in] BOOL      fFailIfExists,
  [in] DWORD     dwFlagsAndAttributes,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Paramètres

[in] hConnect

Gérer une session FTP.

[in] lpszRemoteFile

Pointeur vers une chaîne terminée par null qui contient le nom du fichier à récupérer.

[in] lpszNewFile

Pointeur vers une chaîne terminée par null qui contient le nom du fichier à créer sur le système local.

[in] fFailIfExists

Indique si la fonction doit continuer si un fichier local du nom spécifié existe déjà. Si fFailIfExists est TRUE et que le fichier local existe, ftpGetFile échoue.

[in] dwFlagsAndAttributes

Attributs de fichier pour le nouveau fichier. Ce paramètre peut être n’importe quelle combinaison des indicateurs FILE_ATTRIBUTE_* utilisés par la fonction CreateFile.

[in] dwFlags

Contrôle la façon dont la fonction gère le téléchargement du fichier. Le premier jeu de valeurs d’indicateur indique les conditions dans lesquelles le transfert se produit. Ces indicateurs de type de transfert peuvent être utilisés en combinaison avec le deuxième ensemble d’indicateurs qui contrôlent la mise en cache.

L’application peut sélectionner l’une de ces valeurs de type de transfert.

Valeur Signification
FTP_TRANSFER_TYPE_ASCII
Transfère le fichier à l’aide de la méthode de transfert ASCII (Type A) de FTP. Les informations de contrôle et de mise en forme sont converties en équivalents locaux.
FTP_TRANSFER_TYPE_BINARY
Transfère le fichier à l’aide de la méthode de transfert Image (Type I) de FTP. Le fichier est transféré exactement tel qu’il existe sans modification. Il s’agit de la méthode de transfert par défaut.
FTP_TRANSFER_TYPE_UNKNOWN
La valeur par défaut est FTP_TRANSFER_TYPE_BINARY.
INTERNET_FLAG_TRANSFER_ASCII
Transfère le fichier en tant qu’ASCII.
INTERNET_FLAG_TRANSFER_BINARY
Transfère le fichier en tant que binaire.
 

Les indicateurs suivants déterminent la façon dont la mise en cache de ce fichier sera effectuée. Toute combinaison des indicateurs suivants peut être utilisée avec l’indicateur de type de transfert.

Valeur Signification
INTERNET_FLAG_HYPERLINK
Force un rechargement s’il n’y a pas eu d’heure d’expiration et qu’aucune heure LastModified n’a été retournée par le serveur lorsque vous déterminez s’il faut recharger l’élément à partir du réseau.
INTERNET_FLAG_NEED_FILE
Provoque la création d’un fichier temporaire si le fichier ne peut pas être mis en cache.
INTERNET_FLAG_RELOAD
Force le téléchargement du fichier, de l’objet ou de la liste de répertoires demandés à partir du serveur d’origine, et non à partir du cache.
INTERNET_FLAG_RESYNCHRONIZE
Recharge les ressources HTTP si la ressource a été modifiée depuis la dernière fois qu’elle a été téléchargée. Toutes les ressources FTP sont rechargées.

Windows XP et Windows Server 2003 R2 et versions antérieures : ressources Gopher sont également rechargées.

[in] dwContext

Pointeur vers une variable qui contient la valeur définie par l’application qui associe cette recherche à toutes les données d’application. Cela est utilisé uniquement si l’application a déjà appelé InternetSetStatusCallback pour configurer une fonction de rappel d’état.

Valeur de retour

Retourne TRUE en cas de réussite ou FALSE sinon. Pour obtenir un message d’erreur spécifique, appelez GetLastError.

Remarques

ftpGetFile est une routine de haut niveau qui gère toutes les opérations de gestion et de surcharge associées à la lecture d’un fichier à partir d’un serveur FTP et à son stockage localement. Une application qui doit récupérer des données de fichier uniquement ou qui nécessite un contrôle étroit sur le transfert de fichiers doit utiliser les fonctions FtpOpenFile et Fonctions de InternetReadFile.

Si le paramètre dwFlags spécifie FTP_TRANSFER_TYPE_ASCII, la traduction des données de fichier convertit les caractères de contrôle et de mise en forme en équivalents locaux. Le transfert par défaut est le mode binaire, où le fichier est téléchargé dans le même format qu’il est stocké sur le serveur.

Les deux lpszRemoteFile et lpszNewFile peuvent être des noms de fichiers partiellement ou complets par rapport au répertoire actif.

Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.

Remarque WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Note

L’en-tête wininet.h définit FtpGetFile comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wininet.h
bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

sessions FTP

fonctions WinINet