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.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk