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
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 |