Share via


FtpFindFirstFileA-Funktion (wininet.h)

Durchsucht das angegebene Verzeichnis der angegebenen FTP-Sitzung. Datei- und Verzeichniseinträge werden an die Anwendung in der WIN32_FIND_DATA-Struktur zurückgegeben.

Syntax

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

Parameter

[in] hConnect

Behandeln sie eine FTP-Sitzung, die von InternetConnect zurückgegeben wird.

[in] lpszSearchFile

Zeiger auf eine NULL-Zeichenfolge, die einen gültigen Verzeichnispfad oder Dateinamen für das Dateisystem des FTP-Servers angibt. Die Zeichenfolge kann Platzhalter enthalten, aber keine Leerzeichen sind zulässig. Wenn der Wert von lpszSearchFileNULL oder eine leere Zeichenfolge ist, findet die Funktion die erste Datei im aktuellen Verzeichnis auf dem Server.

[out] lpFindFileData

Zeiger auf eine WIN32_FIND_DATA-Struktur , die Informationen über die gefundene Datei oder das gefundene Verzeichnis empfängt.

[in] dwFlags

Steuert das Verhalten dieser Funktion. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.

INTERNET_FLAG_HYPERLINK

INTERNET_FLAG_NEED_FILE

INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE

[in] dwContext

Zeiger auf eine Variable, die den von der Anwendung definierten Wert angibt, der diese Suche allen Anwendungsdaten ordnet. Dieser Parameter wird nur verwendet, wenn die Anwendung bereits InternetSetStatusCallback aufgerufen hat, um eine status Rückruffunktion einzurichten.

Rückgabewert

Gibt ein gültiges Handle für die Anforderung zurück, wenn die Verzeichnisaufzählung erfolgreich gestartet wurde, oder gibt andernfalls NULL zurück. Rufen Sie GetLastError auf, um eine bestimmte Fehlermeldung zu erhalten. Wenn GetLastError ERROR_INTERNET_EXTENDED_ERROR zurückgibt, wie in dem Fall, in dem die Funktion keine übereinstimmenden Dateien findet, rufen Sie die InternetGetLastResponseInfo-Funktion auf, um den erweiterten Fehlertext abzurufen, wie unter Behandlung von Fehlern dokumentiert.

Hinweise

Bei FtpFindFirstFile werden die Dateizeiten, die in der WIN32_FIND_DATA-Struktur zurückgegeben werden, in der lokalen Zeitzone und nicht in einem koordinierten UTC-Format (Universal Time) angegeben.

FtpFindFirstFile ähnelt der FindFirstFile-Funktion . Beachten Sie jedoch, dass innerhalb einer bestimmten FTP-Sitzung jeweils nur ein FtpFindFirstFile auftreten kann. Die Enumerationen werden daher mit dem FTP-Sitzungshandle korreliert. Dies liegt daran, dass das FTP-Protokoll nur eine einzelne Verzeichnisaufzählung pro Sitzung zulässt.

Nach dem Aufrufen von FtpFindFirstFile und bis zum Aufrufen von InternetCloseHandle kann die Anwendung FtpFindFirstFile für das angegebene FTP-Sitzungshandle nicht erneut aufrufen. Wenn ftpFindFirstFile für dieses Handle aufgerufen wird, schlägt die Funktion mit ERROR_FTP_TRANSFER_IN_PROGRESS fehl. Nachdem die aufrufende Anwendung das von FtpFindFirstFile zurückgegebene HINTERNET-Handle verwendet hat, muss es mit der InternetCloseHandle-Funktion geschlossen werden.

Nach dem Starten einer Verzeichnisaufzählung mit FtpFindFirstFile kann die InternetFindNextFile-Funktion verwendet werden, um die Enumeration fortzusetzen.

Da das FTP-Protokoll keine Standardmethode für die Aufzählung bietet, sind einige der allgemeinen Informationen zu Dateien, z. B. Datum und Uhrzeit der Dateierstellung, nicht immer verfügbar oder richtig. In diesem Fall geben FtpFindFirstFile und InternetFindNextFile nicht verfügbare Informationen mit einer besten Schätzung basierend auf verfügbaren Informationen ein. Beispielsweise sind erstellungs- und letzte Zugriffsdaten häufig identisch mit dem Änderungsdatum der Datei.

Die Anwendung kann ftpFindFirstFile zwischen Aufrufen von FtpOpenFile und InternetCloseHandle nicht aufrufen.

Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht sicher innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte aufgerufen werden.

Hinweis WinINet unterstützt keine Serverimplementierungen. Darüber hinaus sollte es nicht von einem Dienst aus verwendet werden. Verwenden Sie für Serverimplementierungen oder Dienste Microsoft Windows HTTP Services (WinHTTP).
 

Hinweis

Der wininet.h-Header definiert FtpFindFirstFile als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wininet.h
Bibliothek Wininet.lib
DLL Wininet.dll

Weitere Informationen

FTP-Sitzungen

WinINet-Funktionen