Condividi tramite


Funzione FtpFindFirstFileA (wininet.h)

Cerca nella directory specificata della sessione FTP specificata. Le voci di file e directory vengono restituite all'applicazione nella struttura WIN32_FIND_DATA .

Sintassi

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

Parametri

[in] hConnect

Handle in una sessione FTP restituita da InternetConnect.

[in] lpszSearchFile

Puntatore a una stringa con terminazione Null che specifica un percorso di directory o un nome file valido per il file system del server FTP. La stringa può contenere caratteri jolly, ma non sono consentiti spazi vuoti. Se il valore di lpszSearchFile è NULL o se è una stringa vuota, la funzione trova il primo file nella directory corrente nel server.

[out] lpFindFileData

Puntatore a una struttura di WIN32_FIND_DATA che riceve informazioni sul file o sulla directory trovata.

[in] dwFlags

Controlla il comportamento di questa funzione. Questo parametro può essere una combinazione dei valori seguenti.

INTERNET_FLAG_HYPERLINK

INTERNET_FLAG_NEED_FILE

INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE

[in] dwContext

Puntatore a una variabile che specifica il valore definito dall'applicazione che associa questa ricerca a tutti i dati dell'applicazione. Questo parametro viene usato solo se l'applicazione ha già chiamato InternetSetStatusCallback per configurare una funzione di callback di stato.

Valore restituito

Restituisce un handle valido per la richiesta se l'enumerazione della directory è stata avviata correttamente o restituisce NULL in caso contrario. Per ottenere un messaggio di errore specifico, chiamare GetLastError. Se GetLastError restituisce ERROR_INTERNET_EXTENDED_ERROR, come nel caso in cui la funzione non trova file corrispondenti, chiamare la funzione InternetGetLastResponseInfo per recuperare il testo dell'errore esteso, come documentato in Gestione degli errori.

Commenti

Per FtpFindFirstFile, i tempi di file restituiti nella struttura WIN32_FIND_DATA si trovano nel fuso orario locale, non in un formato UTC (Coordinated Universal Time).

FtpFindFirstFile è simile alla funzione FindFirstFile . Si noti, tuttavia, che solo ftpFindFirstFile può verificarsi alla volta all'interno di una determinata sessione FTP. Le enumerazioni, pertanto, sono correlate all'handle di sessione FTP. Questo perché il protocollo FTP consente solo un'enumerazione di directory singola per sessione.

Dopo aver chiamato FtpFindFirstFile e fino a chiamare InternetCloseHandle, l'applicazione non può chiamare nuovamente FtpFindFirstFile nell'handle di sessione FTP specificato. Se viene effettuata una chiamata a FtpFindFirstFile su tale handle, la funzione ha esito negativo con ERROR_FTP_TRANSFER_IN_PROGRESS. Al termine dell'utilizzo dell'applicazione chiamante tramite l'handle DELLANET RESTITUITO da FtpFindFirstFile, l'applicazione deve essere chiusa tramite la funzione InternetCloseHandle .

Dopo aver iniziato un'enumerazione della directory con FtpFindFirstFile, è possibile usare la funzione InternetFindNextFile per continuare l'enumerazione.

Poiché il protocollo FTP non fornisce mezzi standard di enumerazione, alcune delle informazioni comuni sui file, ad esempio la data e l'ora di creazione dei file, non sono sempre disponibili o corrette. In questo caso , FtpFindFirstFile e InternetFindNextFile inseriscono informazioni non disponibili con una migliore ipotesi in base alle informazioni disponibili. Ad esempio, la creazione e l'ultima data di accesso sono spesso uguali alla data di modifica del file.

L'applicazione non può chiamare FtpFindFirstFile tra le chiamate a FtpOpenFile e InternetCloseHandle.

Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro da DllMain o dai costruttori e distruttori di oggetti globali.

Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni del server o i servizi, usare i servizi HTTP di Microsoft Windows (WinHTTP).
 

Nota

L'intestazione wininet.h definisce FtpFindFirstFile come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wininet.h
Libreria Wininet.lib
DLL Wininet.dll

Vedi anche

Sessioni FTP

Funzioni WinINet