FtpFindFirstFileA, fonction (wininet.h)

Recherche le répertoire spécifié de la session FTP donnée. Les entrées de fichier et de répertoire sont retournées à l’application dans la structure WIN32_FIND_DATA .

Syntaxe

HINTERNET FtpFindFirstFileA(
  [in]  HINTERNET          hConnect,
  [in]  LPCSTR             lpszSearchFile,
  [out] LPWIN32_FIND_DATAA lpFindFileData,
  [in]  DWORD              dwFlags,
  [in]  DWORD_PTR          dwContext
);

Paramètres

[in] hConnect

Handle vers une session FTP retournée à partir d’InternetConnect.

[in] lpszSearchFile

Pointeur vers une chaîne terminée par null qui spécifie un chemin de répertoire ou un nom de fichier valide pour le système de fichiers du serveur FTP. La chaîne peut contenir des caractères génériques, mais aucun espace vide n’est autorisé. Si la valeur de lpszSearchFile est NULL ou s’il s’agit d’une chaîne vide, la fonction recherche le premier fichier dans le répertoire actif sur le serveur.

[out] lpFindFileData

Pointeur vers une structure WIN32_FIND_DATA qui reçoit des informations sur le fichier ou le répertoire trouvé.

[in] dwFlags

Contrôle le comportement de cette fonction. Ce paramètre peut être une combinaison des valeurs suivantes.

INTERNET_FLAG_HYPERLINK

INTERNET_FLAG_NEED_FILE

INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE

[in] dwContext

Pointeur vers une variable qui spécifie la valeur définie par l’application qui associe cette recherche à toutes les données d’application. Ce paramètre est utilisé uniquement si l’application a déjà appelé InternetSetStatusCallback pour configurer une fonction de rappel status.

Valeur retournée

Retourne un handle valide pour la requête si l’énumération de répertoires a été démarrée correctement, ou retourne NULL dans le cas contraire. Pour obtenir un message d’erreur spécifique, appelez GetLastError. Si GetLastError retourne ERROR_INTERNET_EXTENDED_ERROR, comme dans le cas où la fonction ne trouve aucun fichier correspondant, appelez la fonction InternetGetLastResponseInfo pour récupérer le texte d’erreur étendu, comme indiqué dans Gestion des erreurs.

Remarques

Pour FtpFindFirstFile, les heures de fichier retournées dans la structure WIN32_FIND_DATA sont dans le fuseau horaire local, et non dans un format de temps universel coordonné (UTC).

FtpFindFirstFile est similaire à la fonction FindFirstFile . Notez, toutefois, qu’un seul FtpFindFirstFile peut se produire à la fois dans une session FTP donnée. Les énumérations sont donc corrélées avec le handle de session FTP. En effet, le protocole FTP n’autorise qu’une seule énumération de répertoires par session.

Après avoir appelé FtpFindFirstFile et jusqu’à l’appel d’InternetCloseHandle, l’application ne peut plus appeler FtpFindFirstFile sur le handle de session FTP donné. Si un appel est effectué à FtpFindFirstFile sur ce handle, la fonction échoue avec ERROR_FTP_TRANSFER_IN_PROGRESS. Une fois que l’application appelante a terminé d’utiliser le handle HINTERNET retourné par FtpFindFirstFile, elle doit être fermée à l’aide de la fonction InternetCloseHandle .

Après avoir commencé une énumération de répertoires avec FtpFindFirstFile, la fonction InternetFindNextFile peut être utilisée pour continuer l’énumération.

Étant donné que le protocole FTP ne fournit aucun moyen standard d’énumération, certaines des informations courantes sur les fichiers, telles que la date et l’heure de création de fichier, ne sont pas toujours disponibles ou correctes. Dans ce cas, FtpFindFirstFile et InternetFindNextFile renseignent les informations non disponibles avec une estimation optimale basée sur les informations disponibles. Par exemple, les dates de création et de dernier accès sont souvent identiques à la date de modification du fichier.

L’application ne peut pas appeler FtpFindFirstFile entre les appels à FtpOpenFile et InternetCloseHandle.

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.

Note 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).
 

Notes

L’en-tête wininet.h définit FtpFindFirstFile 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. La combinaison 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wininet.h
Bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

FTP Sessions

Fonctions WinINet