Freigeben über


FtpGetFileA-Funktion (wininet.h)

Ruft eine Datei vom FTP-Server ab und speichert sie unter dem angegebenen Dateinamen, wodurch eine neue lokale Datei im Prozess erstellt wird.

Syntax

BOOL FtpGetFileA(
  [in] HINTERNET hConnect,
  [in] LPCSTR    lpszRemoteFile,
  [in] LPCSTR    lpszNewFile,
  [in] BOOL      fFailIfExists,
  [in] DWORD     dwFlagsAndAttributes,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Parameter

[in] hConnect

Behandeln sie eine FTP-Sitzung.

[in] lpszRemoteFile

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der abzurufenden Datei enthält.

[in] lpszNewFile

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Datei enthält, die im lokalen System erstellt werden soll.

[in] fFailIfExists

Gibt an, ob die Funktion fortgesetzt werden soll, wenn bereits eine lokale Datei mit dem angegebenen Namen vorhanden ist. Wenn fFailIfExists-TRUE- ist und die lokale Datei vorhanden ist, schlägt FtpGetFile- fehl.

[in] dwFlagsAndAttributes

Dateiattribute für die neue Datei. Dieser Parameter kann eine beliebige Kombination der FILE_ATTRIBUTE_*-Flags sein, die von der CreateFile--Funktion verwendet werden.

[in] dwFlags

Steuert, wie die Funktion den Dateidownload verarbeitet. Der erste Satz von Flagwerten gibt die Bedingungen an, unter denen die Übertragung erfolgt. Diese Übertragungstypkennzeichnungen können in Kombination mit dem zweiten Satz von Flags verwendet werden, die das Zwischenspeichern steuern.

Die Anwendung kann einen dieser Übertragungstypwerte auswählen.

Wert Bedeutung
FTP_TRANSFER_TYPE_ASCII
Überträgt die Datei mithilfe der ASCII-Übertragungsmethode (Type A) von FTP. Steuerelement- und Formatierungsinformationen werden in lokale Entsprechungen konvertiert.
FTP_TRANSFER_TYPE_BINARY
Überträgt die Datei mit der Transfermethode "Image( Type I)" von FTP. Die Datei wird genau so übertragen, wie sie ohne Änderungen vorhanden ist. Dies ist die Standardübertragungsmethode.
FTP_TRANSFER_TYPE_UNKNOWN
Standardmäßig wird FTP_TRANSFER_TYPE_BINARY.
INTERNET_FLAG_TRANSFER_ASCII
Überträgt die Datei als ASCII.
INTERNET_FLAG_TRANSFER_BINARY
Überträgt die Datei als Binärdatei.
 

Die folgenden Flags bestimmen, wie die Zwischenspeicherung dieser Datei erfolgt. Jede Kombination der folgenden Flags kann mit dem Übertragungstypkennzeichnung verwendet werden.

Wert Bedeutung
INTERNET_FLAG_HYPERLINK
Erzwingt ein Neuladen, wenn keine Ablaufzeit aufgetreten ist, und keine lastModified-Zeit, die vom Server zurückgegeben wird, wenn ermittelt wird, ob das Element aus dem Netzwerk neu geladen werden soll.
INTERNET_FLAG_NEED_FILE
Bewirkt, dass eine temporäre Datei erstellt wird, wenn die Datei nicht zwischengespeichert werden kann.
INTERNET_FLAG_RELOAD
Erzwingt den Download der angeforderten Datei, des Objekts oder des Verzeichniseintrags vom Ursprungsserver, nicht aus dem Cache.
INTERNET_FLAG_RESYNCHRONIZE
Lädt HTTP-Ressourcen neu, wenn die Ressource seit dem letzten Herunterladen geändert wurde. Alle FTP-Ressourcen werden neu geladen.

Windows XP und Windows Server 2003 R2 und früher: Gopher-Ressourcen werden ebenfalls neu geladen.

[in] dwContext

Zeigen Sie auf eine Variable, die den anwendungsdefinierten Wert enthält, der diese Suche allen Anwendungsdaten zuordnet. Dies wird nur verwendet, wenn die Anwendung bereits InternetSetStatusCallback- aufgerufen hat, um eine Statusrückruffunktion einzurichten.

Rückgabewert

Gibt TRUE zurück, wenn dies erfolgreich ist, oder FALSE andernfalls. Rufen Sie GetLastError-auf, um eine bestimmte Fehlermeldung zu erhalten.

Bemerkungen

FtpGetFile- ist eine allgemeine Routine, die alle Buchführungs- und Overhead-Vorgänge verarbeitet, die mit dem Lesen einer Datei von einem FTP-Server verbunden sind und lokal gespeichert werden. Eine Anwendung, die Dateidaten nur abrufen muss oder die eine enge Kontrolle über die Dateiübertragung erfordert, sollte die funktionen FtpOpenFile und InternetReadFile- verwenden.

Wenn der dwFlags Parameter FTP_TRANSFER_TYPE_ASCIIangibt, konvertiert die Übersetzung der Dateidaten Steuer- und Formatierungszeichen in lokale Entsprechungen. Die Standardübertragung ist der Binärmodus, in dem die Datei im gleichen Format heruntergeladen wird wie auf dem Server.

Sowohl lpszRemoteFile- als auch lpszNewFile- können teilweise oder vollqualifizierte Dateinamen relativ zum aktuellen Verzeichnis sein.

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

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

Anmerkung

Der wininet.h-Header definiert FtpGetFile 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 Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- wininet.h
Library Wininet.lib
DLL- Wininet.dll

Siehe auch

FTP-Sitzungen

WinINet-Funktionen