Metode IBackgroundCopyJob::AddFile (bits.h)

Menambahkan satu file ke pekerjaan.

Sintaks

HRESULT AddFile(
  [in] LPCWSTR RemoteUrl,
  [in] LPCWSTR LocalName
);

Parameter

[in] RemoteUrl

String yang dihentikan null yang berisi nama file di server. Untuk informasi tentang menentukan nama jarak jauh, lihat bagian Anggota RemoteName dan Keterangan dari struktur BG_FILE_INFO .

[in] LocalName

String yang dihentikan null yang berisi nama file pada klien. Untuk informasi tentang menentukan nama lokal, lihat bagian Anggota LocalName dan Keterangan dari struktur BG_FILE_INFO .

Menampilkan nilai

Metode ini mengembalikan nilai HRESULT berikut, serta yang lain.

Menampilkan kode Deskripsi
S_OK
File berhasil ditambahkan ke pekerjaan.
BG_E_TOO_MANY_FILES
Unggah pekerjaan hanya dapat berisi satu file; Anda tidak dapat menambahkan file lain ke pekerjaan.
BG_E_TOO_MANY_FILES_IN_JOB
Pengaturan Kebijakan Grup MaxFilesPerJob menentukan berapa banyak file yang dapat dimuat pekerjaan. Menambahkan file ke pekerjaan melebihi batas MaxFilesPerJob.
E_INVALIDARG
Anda dapat menerima kesalahan ini karena salah satu alasan berikut:
  • Nama file lokal atau jarak jauh tidak valid.
  • Nama file jarak jauh menggunakan protokol yang tidak didukung.
  • Nama file lokal ditentukan menggunakan jalur relatif.
E_ACCESSDENIED
Pengguna tidak memiliki izin untuk menulis ke direktori yang ditentukan pada klien.

Keterangan

Untuk menambahkan lebih dari satu file pada satu waktu ke pekerjaan, panggil metode IBackgroundCopyJob::AddFileSet . Lebih efisien untuk memanggil metode AddFileSet saat menambahkan beberapa file ke pekerjaan daripada memanggil metode AddFile dalam perulangan. Untuk informasi selengkapnya, lihat Menambahkan File ke Pekerjaan.

Untuk menambahkan file ke pekerjaan tempat BITS mengunduh rentang data dari file, panggil metode IBackgroundCopyJob3::AddFileWithRanges .

Unggah pekerjaan hanya dapat berisi satu file. Jika Anda menambahkan file kedua, metode akan mengembalikan BG_E_TOO_MANY_FILES.

Untuk unduhan, BITS menjamin bahwa versi file (berdasarkan ukuran dan tanggal file, bukan konten) yang ditransfernya akan konsisten; namun, itu tidak menjamin bahwa sekumpulan file akan konsisten. Misalnya, jika BITS berada di tengah-tengah mengunduh file kedua dari dua file dalam pekerjaan pada saat file diperbarui di server, BITS memulai ulang pengunduhan file kedua; namun, file pertama tidak diunduh lagi.

Perhatikan bahwa jika Anda memiliki file yang diunduh dari server, Anda harus membuat URL baru untuk setiap versi baru file. Jika Anda menggunakan URL yang sama untuk versi baru file, beberapa server proksi dapat melayani data kedaluarsa dari cache mereka karena mereka tidak memverifikasi dengan server asli jika file kedaluarsa.

Untuk unggahan, BITS menghasilkan kesalahan jika file lokal berubah saat file sedang ditransfer. Kode kesalahan BG_E_FILE_CHANGED dan konteksnya BG_ERROR_CONTEXT_LOCAL_FILE.

BITS mentransfer file dalam pekerjaan secara berurutan. Jika terjadi kesalahan saat mentransfer file, pekerjaan berpindah ke status kesalahan dan tidak ada lagi file dalam pekerjaan yang diproses sampai kesalahan diselesaikan.

Secara default, pengguna dapat menambahkan hingga 200 file ke pekerjaan. Batas ini tidak berlaku untuk administrator atau akun layanan. Untuk mengubah default, atur kebijakan grup MaxFilesPerJob .

Sebelum Windows Vista: Tidak ada batasan jumlah file yang dapat ditambahkan pengguna ke pekerjaan.

Untuk masalah skalabilitas, lihat Praktik Terbaik Saat Menggunakan BITS.

Contoh

Untuk contoh yang menambahkan satu file ke pekerjaan, lihat Menambahkan File ke Pekerjaan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP
Server minimum yang didukung Windows Server 2003
Target Platform Windows
Header bits.h
Pustaka Bits.lib
DLL QmgrPrxy.dll

Lihat juga

IBackgroundCopyJob3::AddFileWithRanges

IBackgroundCopyJob::AddFileSet

IBackgroundCopyJob::EnumFiles

IBackgroundCopyJob::GetState

IBackgroundCopyJob::Resume