Freigeben über


FtpOpenFileA-Funktion (wininet.h)

Initiiert den Zugriff auf eine Remotedatei auf einem FTP-Server zum Lesen oder Schreiben.

Syntax

HINTERNET FtpOpenFileA(
  [in] HINTERNET hConnect,
  [in] LPCSTR    lpszFileName,
  [in] DWORD     dwAccess,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Parameter

[in] hConnect

Behandeln sie eine FTP-Sitzung.

[in] lpszFileName

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

[in] dwAccess

Dateizugriff. Dieser Parameter kann GENERIC_READ oder GENERIC_WRITE sein, aber nicht beides.

[in] dwFlags

Bedingungen, unter denen die Übertragungen erfolgen. Die Anwendung sollte einen Übertragungstyp und eines der Flags auswählen, die angeben, wie das Zwischenspeichern der Datei gesteuert wird.

Der Übertragungstyp kann einer der folgenden Werte sein.

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 Werte werden verwendet, um die Zwischenspeicherung der Datei zu steuern. Die Anwendung kann mindestens einen dieser Werte verwenden.

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 bei erfolgreicher Ausführung ein Handle zurück, andernfalls NULL . Um eine bestimmte Fehlermeldung abzurufen, rufen Sie GetLastError auf.

Hinweise

Nach dem Aufrufen von FtpOpenFile und bis zum Aufrufen von InternetCloseHandle schlagen alle anderen Aufrufe von FTP-Funktionen auf demselben FTP-Sitzungshandle fehl, und die Fehlermeldung wird auf ERROR_FTP_TRANSFER_IN_PROGRESS festgelegt. Nachdem die aufrufende Anwendung das von FtpOpenFile zurückgegebene HINTERNET-Handle verwendet hat, muss es mit der InternetCloseHandle-Funktion geschlossen werden.

Nur eine Datei kann in einer einzelnen FTP-Sitzung geöffnet werden. Daher wird kein Dateihandle zurückgegeben, und die Anwendung verwendet bei Bedarf einfach das FTP-Sitzungshandle.

Der lpszFileName-Parameter kann ein teilweise oder vollständig qualifizierter Dateiname 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 FtpOpenFile 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