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

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

[in] dwAccess

Dateizugriff. Dieser Parameter kann GENERIC_READ oder GENERIC_WRITEwerden, aber nicht beide.

[in] dwFlags

Bedingungen, unter denen die Übertragungen erfolgen. Die Anwendung sollte einen Übertragungstyp und eines der Flags auswählen, die angeben, wie die Zwischenspeicherung 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 (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 Werte werden verwendet, um das Zwischenspeichern der Datei zu steuern. Die Anwendung kann einen oder mehrere dieser Werte verwenden.

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 ein Handle zurück, falls erfolgreich, oder NULL- andernfalls. Rufen Sie GetLastErrorauf, um eine bestimmte Fehlermeldung abzurufen.

Bemerkungen

Nach dem Aufrufen FtpOpenFile- und bis zum Aufrufen InternetCloseHandle-treten alle anderen Aufrufe von FTP-Funktionen auf demselben FTP-Sitzungshandle fehl und legen die Fehlermeldung auf ERROR_FTP_TRANSFER_IN_PROGRESSfest. Nachdem die aufrufende Anwendung die verwendung des HINTERNET- Handle beendet hat, das von FtpOpenFile-zurückgegeben wird, muss sie mithilfe der InternetCloseHandle--Funktion geschlossen werden.

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

Der parameter lpszFileName kann entweder ein teilweiser oder vollqualifizierter Dateiname 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 FtpOpenFile 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 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