FtpFindFirstFileW, 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 FtpFindFirstFileW(
[in] HINTERNET hConnect,
[in] LPCWSTR lpszSearchFile,
[out] LPWIN32_FIND_DATAW 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.
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
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 |