Bagikan melalui


Metode IBackgroundCopyCallback::JobTransferred (bits.h)

BITS memanggil implementasi metode JobTransferred Anda ketika semua file dalam pekerjaan telah berhasil ditransfer. Untuk pekerjaan BG_JOB_TYPE_UPLOAD_REPLY, BITS memanggil metode JobTransferred setelah file unggahan ditransfer ke server dan balasan telah ditransfer ke klien.

Sintaks

HRESULT JobTransferred(
  [in] IBackgroundCopyJob *pJob
);

Parameter

[in] pJob

Berisi informasi terkait pekerjaan, seperti waktu pekerjaan selesai, jumlah byte yang ditransfer, dan jumlah file yang ditransfer. Jangan melepaskan pJob; BITS merilis antarmuka saat metode kembali.

Nilai kembali

Metode ini harus mengembalikan S_OK; jika tidak, BITS terus memanggil metode ini sampai S_OK dikembalikan. Untuk alasan performa, Anda harus membatasi berapa kali Anda mengembalikan nilai selain S_OK hingga beberapa kali. Sebagai alternatif untuk mengembalikan kode kesalahan, pertimbangkan untuk selalu mengembalikan S_OK dan menangani kesalahan secara internal. Interval di mana metode ini dipanggil bersifat arbitrer.

Perhatikan bahwa jika metode ini gagal dan Anda memanggil metode IBackgroundCopyJob2::SetNotifyCmdLine , baris perintah dijalankan dan metode ini tidak dipanggil lagi.

Keterangan

Biasanya, implementasi Anda harus memanggil metode IBackgroundCopyJob::Complete untuk mengakui bahwa BITS berhasil mentransfer file. Unduh file dan file balasan tidak tersedia di klien hingga Anda memanggil metode Lengkap .

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

Jika Anda ingin mengambil data balasan di panggilan balik Anda, kueri pJob untuk antarmuka IBackgroundCopyJob2 dan panggil metode GetReplyData-nya . Untuk mengambil nama file yang berisi data balasan, panggil metode GetReplyFileName .

BITS tidak menjamin integritas file yang ditransfer terhadap gangguan pihak ketiga. Klien dapat menerapkan pemeriksaan integritas untuk memvalidasi file yang ditransfer sebelum memanggil metode Lengkap . Untuk mendapatkan pemberitahuan saat file ditransfer, terapkan metode IBackgroundCopyCallback2::FileTransferred . Di dalam panggilan balik, panggil metode IBackgroundCopyFile3::GetTemporaryName untuk mendapatkan nama file sementara yang berisi konten yang diunduh. Validasi konten lalu panggil metode IBackgroundCopyFile3::SetValidationState untuk menunjukkan apakah konten valid. Jika konten tidak valid dan BITS mengunduh file dari server asal, pekerjaan akan berada dalam status kesalahan. Jika pekerjaan diunduh dari serekan, BITS mengunduh file dari server asal.

Catatan BITS mendukung hingga empat pemberitahuan simultan per pengguna. Jika satu atau beberapa aplikasi memblokir keempat pemberitahuan untuk pengguna agar tidak kembali, aplikasi yang berjalan sebagai pengguna yang sama tidak akan menerima pemberitahuan hingga satu atau beberapa pemberitahuan pemblokiran kembali. Untuk mengurangi kemungkinan panggilan balik Anda memblokir pemberitahuan lain, jaga agar implementasi Anda tetap singkat.
 

Contoh

Lihat kode contoh untuk antarmuka IBackgroundCopyCallback .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP
Server minimum yang didukung Windows Server 2003
Target Platform Windows
Header bits.h

Lihat juga

IBackgroundCopyCallback

IBackgroundCopyJob

IBackgroundCopyJob::Cancel

IBackgroundCopyJob::Complete