Metode IBackgroundCopyCallback::JobError (bits.h)
BITS memanggil implementasi metode JobError Anda ketika status pekerjaan berubah menjadi BG_JOB_STATE_ERROR.
Sintaks
HRESULT JobError(
[in] IBackgroundCopyJob *pJob,
[in] IBackgroundCopyError *pError
);
Parameter
[in] pJob
Berisi informasi terkait pekerjaan, seperti jumlah byte dan file yang ditransfer sebelum kesalahan terjadi. Ini juga berisi metode untuk melanjutkan dan membatalkan pekerjaan. Jangan lepaskan pJob; BITS merilis antarmuka saat metode JobError kembali.
[in] pError
Berisi informasi kesalahan, seperti file yang sedang diproses pada saat kesalahan fatal terjadi dan deskripsi kesalahan. Jangan lepaskan pError; BITS merilis antarmuka saat metode JobError kembali.
Menampilkan nilai
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 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
Setelah Anda menentukan penyebab kesalahan, lakukan salah satu opsi berikut:
- Untuk membatalkan pekerjaan, panggil metode IBackgroundCopyJob::Cancel . Permintaan pembatalan tidak berpengaruh pada pekerjaan unggahan jika kesalahan terjadi setelah file berhasil diunggah. Namun, jika jenis pekerjaan BG_JOB_TYPE_UPLOAD_REPLY dan unggahan berhasil, memanggil metode Batalkan akan membatalkan permintaan data balasan.
- Untuk menerima bagian pekerjaan yang berhasil ditransfer sebelum kesalahan terjadi, panggil metode IBackgroundCopyJob::Complete . Opsi ini tidak berlaku untuk mengunggah pekerjaan; Anda tidak dapat menyelesaikan sebagian pekerjaan pengunggahan.
- Untuk menyelesaikan pemrosesan pekerjaan, perbaiki masalah, lalu panggil metode IBackgroundCopyJob::Resume .
Kesalahan sementara tidak menghasilkan panggilan ke metode JobError .
Untuk menentukan apakah bagian pengunggahan, balasan, atau aplikasi server dari pekerjaan balasan unggahan gagal, panggil metode IBackgroundCopyError::GetError untuk mengambil konteks di mana kesalahan terjadi. Aplikasi server gagal jika konteksnya BG_ERROR_CONTEXT_REMOTE_APPLICATION. Konteks untuk mengunggah dan membalas BG_ERROR_CONTEXT_REMOTE_FILE. Balasan gagal jika anggota BytesTotal dari struktur BG_JOB_REPLY_PROGRESS tidak BG_SIZE_UNKNOWN. Jika tidak, unggahan gagal.
Contoh
Lihat contoh kode 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 |