Freigeben über


FtpGetFileA-Funktion (wininet.h)

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

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

Zeiger auf eine NULL-Zeichenfolge, die den Namen der abzurufenden Datei enthält.

[in] lpszNewFile

Zeiger auf eine NULL-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 fFailIfExistsTRUE 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 Übertragungstypflags können in Kombination mit dem zweiten Satz von Flags verwendet werden, die die Zwischenspeicherung steuern.

Die Anwendung kann einen dieser Übertragungstypwerte auswählen.

Wert Bedeutung
FTP_TRANSFER_TYPE_ASCII
Überträgt die Datei mithilfe der ASCII-Übertragungsmethode (Typ A) von FTP. Steuerungs- und Formatierungsinformationen werden in lokale Entsprechungen konvertiert.
FTP_TRANSFER_TYPE_BINARY
Überträgt die Datei mithilfe der Ftp-Übertragungsmethode Image (Typ I). Die Datei wird ohne Änderungen genau so übertragen, wie sie vorhanden ist. Dies ist die Standardübertragungsmethode.
FTP_TRANSFER_TYPE_UNKNOWN
Standardmäßig ist 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. Mit dem Übertragungstypflag kann eine beliebige Kombination der folgenden Flags verwendet werden.

Wert Bedeutung
INTERNET_FLAG_HYPERLINK
Erzwingt ein Erneutes Laden, wenn keine Ablaufzeit und keine LastModified-Zeit vom Server zurückgegeben wurde, 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 einen Download der angeforderten Datei, des angeforderten Objekts oder der angeforderten Verzeichnisliste vom ursprünglichen Server, nicht aus dem Cache.
INTERNET_FLAG_RESYNCHRONIZE
Lädt HTTP-Ressourcen neu, wenn die Ressource seit dem letzten Download 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

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

Rückgabewert

Gibt TRUE zurück, wenn der Vorgang erfolgreich war, oder andernfalls FALSE . Rufen Sie GetLastError auf, um eine bestimmte Fehlermeldung zu erhalten.

Hinweise

FtpGetFile ist eine allgemeine Routine, die die gesamte Buchhaltung und den gesamten Mehraufwand verarbeitet, der mit dem Lesen einer Datei von einem FTP-Server und ihrer lokalen Speicherung verbunden ist. Eine Anwendung, die nur Dateidaten abrufen muss oder eine enge Kontrolle über die Dateiübertragung erfordert, sollte die Funktionen FtpOpenFile und InternetReadFile verwenden.

Wenn der dwFlags-ParameterFTP_TRANSFER_TYPE_ASCII angibt, werden bei der Übersetzung der Dateidaten Steuerelement- und Formatierungszeichen in lokale Entsprechungen konvertiert. Die Standardübertragung ist der Binärmodus, in dem die Datei im gleichen Format heruntergeladen wird, wie sie auf dem Server gespeichert ist.

Sowohl lpszRemoteFile als auch lpszNewFile können teilweise oder vollständig qualifizierte Dateinamen relativ zum aktuellen Verzeichnis sein.

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 FtpGetFile als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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