IBackgroundCopyJob::Metode lengkap (bits.h)

Mengakhiri pekerjaan dan menyimpan file yang ditransfer pada klien.

Sintaks

HRESULT Complete();

Mengembalikan nilai

Metode ini mengembalikan nilai HRESULT berikut. Metode ini juga dapat mengembalikan kesalahan yang terkait dengan mengganti nama salinan sementara file yang ditransfer ke nama yang diberikan.

Menampilkan kode Deskripsi
S_OK
Semua file berhasil ditransfer.
BG_S_PARTIAL_COMPLETE
Subset file berhasil ditransfer.
BG_S_UNABLE_TO_DELETE_FILES
Pekerjaan berhasil diselesaikan; namun, layanan tidak dapat menghapus file sementara yang terkait dengan pekerjaan.
BG_E_INVALID_STATE
Untuk unduhan, status pekerjaan tidak dapat BG_JOB_STATE_CANCELLED atau BG_JOB_STATE_ACKNOWLEDGED.

Untuk unggahan, status pekerjaan harus BG_JOB_STATE_TRANSFERRED.

Keterangan

Unduh file tidak tersedia sampai Anda memanggil metode Lengkap . Panggil metode Lengkap setelah BITS berhasil mentransfer file. Metode mengganti nama file unduhan sementara menjadi nama tujuan akhir mereka dan menghapus pekerjaan dari antrean. Perhatikan bahwa BITS mengganti nama file unggahan sementara ketika server menerima fragmen terakhir, itulah sebabnya pekerjaan unduhan memerlukan konektivitas jaringan dan mengunggah pekerjaan tidak.

Semua file telah berhasil ditransfer jika status pekerjaan BG_JOB_STATE_TRANSFERRED. Untuk memeriksa status pekerjaan, panggil metode IBackgroundCopyJob::GetState . Anda juga dapat menerapkan antarmuka IBackgroundCopyCallback untuk menerima pemberitahuan ketika semua file telah ditransfer ke klien.

Jika Anda tidak memanggil metode Lengkap atau metode IBackgroundCopyJob::Cancel dalam waktu 90 hari (default JobInactivityTimeout Kebijakan Grup), layanan membatalkan pekerjaan. Jika layanan membatalkan pekerjaan, file yang diunduh dan file balasan tidak tersedia untuk klien; pembatalan pekerjaan tidak memengaruhi file yang berhasil diunggah.

BITS menghapus pekerjaan dari antrean transfer jika HRESULT S_OK atau BG_S_PARTIAL_COMPLETE. Pekerjaan tetap berada dalam antrean transfer jika BITS tidak dapat mengganti nama semua file sementara. File yang berhasil diganti namanya tersedia untuk pengguna. Pekerjaan tetap dalam antrean (status BG_JOB_STATE_TRANSFERRED) sampai aplikasi dapat memperbaiki masalah dan memanggil metode Lengkap lagi atau metode IBackgroundCopyJob::Cancel untuk membatalkan pekerjaan. Untuk menentukan file mana yang tidak diganti namanya untuk pekerjaan pengunduhan, lihat anggota struktur BG_FILE_PROGRESS yang telah selesai.

Untuk pekerjaan pengunduhan, Anda dapat memanggil metode Lengkap kapan saja selama proses transfer; namun, hanya file yang berhasil ditransfer ke klien sebelum memanggil metode ini yang disimpan. Misalnya, jika Anda memanggil metode Lengkap saat BITS memproses yang ketiga dari lima file, hanya dua file pertama yang disimpan. Untuk menentukan file mana yang telah ditransfer, panggil metode IBackgroundCopyFile::GetProgress dan bandingkan anggota BytesTransferred dengan anggota BytesTotal dari struktur BG_FILE_PROGRESS .

Untuk pekerjaan unggah, Anda dapat memanggil metode Lengkap hanya saat status pekerjaan BG_JOB_STATE_TRANSFERRED.

BITS tidak menjamin integritas file yang ditransfer terhadap gangguan pihak ketiga. Klien dapat menerapkan pemeriksaan integritas untuk memvalidasi file yang ditransfer setelah memanggil metode Lengkap .

Pemilik file adalah pengguna yang melakukan panggilan. Misalnya, jika administrator menyelesaikan pekerjaan orang lain, administrator—bukan pemilik pekerjaan—memiliki file tersebut.

BITS 1.2 dan yang lebih lama: Pemilik file adalah pemilik pekerjaan, terlepas dari siapa yang memanggil metode Lengkap .

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

Menyelesaikan dan Membatalkan Pekerjaan

IBackgroundCopyCallback::JobTransferred

IBackgroundCopyJob::Cancel

IBackgroundCopyJob::GetState