Partager via


FtpOpenFileA, fonction (wininet.h)

Lance l’accès à un fichier distant sur un serveur FTP pour la lecture ou l’écriture.

Syntaxe

HINTERNET FtpOpenFileA(
  [in] HINTERNET hConnect,
  [in] LPCSTR    lpszFileName,
  [in] DWORD     dwAccess,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Paramètres

[in] hConnect

Gérer une session FTP.

[in] lpszFileName

Pointeur vers une chaîne terminée par null qui contient le nom du fichier à accéder.

[in] dwAccess

Accès aux fichiers. Ce paramètre peut être GENERIC_READ ou GENERIC_WRITE, mais pas les deux.

[in] dwFlags

Conditions dans lesquelles les transferts se produisent. L’application doit sélectionner un type de transfert et l’un des indicateurs qui indiquent la façon dont la mise en cache du fichier sera contrôlée.

Le type de transfert peut être l’une des valeurs suivantes.

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 valeurs suivantes sont utilisées pour contrôler la mise en cache du fichier. L’application peut utiliser une ou plusieurs de ces valeurs.

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 un handle en cas de réussite, ou null sinon. Pour récupérer un message d’erreur spécifique, appelez GetLastError.

Remarques

Après avoir appelé FtpOpenFile et jusqu’à ce que l’appel InternetCloseHandle, tous les autres appels aux fonctions FTP sur le même handle de session FTP échouent et définissent le message d’erreur sur ERROR_FTP_TRANSFER_IN_PROGRESS. Une fois l’application appelante terminée à l’aide du handle HINTERNET retourné par ftpOpenFile, il doit être fermé à l’aide de la fonction InternetCloseHandle.

Un seul fichier peut être ouvert dans une seule session FTP. Par conséquent, aucun handle de fichier n’est retourné et l’application utilise simplement le handle de session FTP si nécessaire.

Le paramètre lpszFileName peut être un nom de fichier partiellement ou complet 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 FtpOpenFile 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