Fungsi FtpOpenFileA (wininet.h)

Memulai akses ke file jarak jauh pada server FTP untuk membaca atau menulis.

Sintaks

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

Parameter

[in] hConnect

Menangani ke sesi FTP.

[in] lpszFileName

Penunjuk ke string yang dihentikan null yang berisi nama file yang akan diakses.

[in] dwAccess

Akses file. Parameter ini dapat GENERIC_READ atau GENERIC_WRITE, tetapi tidak keduanya.

[in] dwFlags

Kondisi di mana transfer terjadi. Aplikasi harus memilih satu jenis transfer dan salah satu bendera yang menunjukkan bagaimana penembolokan file akan dikontrol.

Jenis transfer bisa menjadi salah satu nilai berikut.

Nilai Makna
FTP_TRANSFER_TYPE_ASCII
Mentransfer file menggunakan metode transfer ASCII (Tipe A) FTP. Informasi kontrol dan pemformatan dikonversi ke setara lokal.
FTP_TRANSFER_TYPE_BINARY
Mentransfer file menggunakan metode transfer Gambar (Tipe I) FTP. File ditransfer persis seperti yang ada tanpa perubahan. Ini adalah metode transfer default.
FTP_TRANSFER_TYPE_UNKNOWN
Default ke FTP_TRANSFER_TYPE_BINARY.
INTERNET_FLAG_TRANSFER_ASCII
Mentransfer file sebagai ASCII.
INTERNET_FLAG_TRANSFER_BINARY
Mentransfer file sebagai biner.
 

Nilai berikut digunakan untuk mengontrol penembolokan file. Aplikasi dapat menggunakan satu atau beberapa nilai ini.

Nilai Makna
INTERNET_FLAG_HYPERLINK
Memaksa pemuatan ulang jika tidak ada waktu Kedaluwarsa dan tidak ada waktu LastModified yang dikembalikan dari server saat menentukan apakah akan memuat ulang item dari jaringan.
INTERNET_FLAG_NEED_FILE
Menyebabkan file sementara dibuat jika file tidak dapat di-cache.
INTERNET_FLAG_RELOAD
Memaksa pengunduhan file, objek, atau daftar direktori yang diminta dari server asal, bukan dari cache.
INTERNET_FLAG_RESYNCHRONIZE
Memuat ulang sumber daya HTTP jika sumber daya telah dimodifikasi sejak terakhir kali diunduh. Semua sumber daya FTP dimuat ulang.

Windows XP dan Windows Server 2003 R2 dan yang lebih lama: Sumber daya gopher juga dimuat ulang.

[in] dwContext

Penunjuk ke variabel yang berisi nilai yang ditentukan aplikasi yang mengaitkan pencarian ini dengan data aplikasi apa pun. Ini hanya digunakan jika aplikasi telah memanggil InternetSetStatusCallback untuk menyiapkan fungsi panggilan balik status.

Nilai kembali

Mengembalikan handel jika berhasil, atau NULL sebaliknya. Untuk mengambil pesan kesalahan tertentu, panggil GetLastError.

Keterangan

Setelah memanggil FtpOpenFile dan sampai memanggil InternetCloseHandle, semua panggilan lain ke fungsi FTP pada handel sesi FTP yang sama akan gagal dan mengatur pesan kesalahan ke ERROR_FTP_TRANSFER_IN_PROGRESS. Setelah aplikasi panggilan selesai menggunakan handel HINTERNET yang dikembalikan oleh FtpOpenFile, aplikasi harus ditutup menggunakan fungsi InternetCloseHandle .

Hanya satu file yang dapat dibuka dalam satu sesi FTP. Oleh karena itu, tidak ada handel file yang dikembalikan dan aplikasi hanya menggunakan handel sesi FTP bila perlu.

Parameter lpszFileName dapat berupa nama file yang sebagian atau sepenuhnya memenuhi syarat relatif terhadap direktori saat ini.

Seperti semua aspek lain dari Api WinINet, fungsi ini tidak dapat dipanggil dengan aman dari dalam DllMain atau konstruktor dan destruktor objek global.

Catatan WinINet tidak mendukung implementasi server. Selain itu, itu tidak boleh digunakan dari layanan. Untuk implementasi atau layanan server, gunakan Microsoft Windows HTTP Services (WinHTTP).
 

Catatan

Header wininet.h mendefinisikan FtpOpenFile sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header wininet.h
Pustaka Wininet.lib
DLL Wininet.dll

Lihat juga

Sesi FTP

Fungsi WinINet