Metode IBackgroundCopyJob::SetNotifyInterface (bits.h)
Mengidentifikasi implementasi antarmuka IBackgroundCopyCallback Anda ke BITS. Gunakan antarmuka IBackgroundCopyCallback untuk menerima pemberitahuan peristiwa terkait pekerjaan.
Sintaks
HRESULT SetNotifyInterface(
IUnknown *Val
);
Parameter
Val
Penunjuk antarmuka IBackgroundCopyCallback . Untuk menghapus penunjuk antarmuka panggilan balik saat ini, atur parameter ini ke NULL.
Menampilkan nilai
Metode ini mengembalikan nilai HRESULT berikut, serta yang lain.
Menampilkan kode | Deskripsi |
---|---|
|
Penunjuk antarmuka pemberitahuan berhasil diatur. |
|
Status pekerjaan tidak dapat BG_JOB_STATE_CANCELLED atau BG_JOB_STATE_ACKNOWLEDGED. |
Keterangan
Panggil metode ini hanya jika Anda mengimplementasikan antarmuka IBackgroundCopyCallback . Gunakan metode SetNotifyInterface bersama dengan metode SetNotifyFlags untuk menentukan jenis pemberitahuan yang ingin Anda terima.
Antarmuka pemberitahuan menjadi tidak valid ketika aplikasi Anda dihentikan; BITS tidak mempertahankan antarmuka pemberitahuan. Akibatnya, proses inisialisasi aplikasi Anda harus memanggil metode SetNotifyInterface pada pekerjaan yang ada yang ingin Anda terima pemberitahuannya. Jika Anda perlu mengambil informasi status dan kemajuan yang terjadi sejak terakhir kali aplikasi Anda dijalankan, polling untuk informasi status dan kemajuan selama inisialisasi aplikasi.
Perhatikan bahwa BITS akan memanggil panggilan balik Anda meskipun peristiwa yang Anda daftarkan sudah terjadi.
Sebagai alternatif untuk menerima pemberitahuan panggilan balik, Anda dapat mendaftar agar BITS menjalankan baris perintah untuk kesalahan dan peristiwa yang ditransfer. Untuk detail selengkapnya, lihat metode IBackgroundCopyJob2::SetNotifyCmdLine .
Perhatikan bahwa jika lebih dari satu aplikasi memanggil metode SetNotifyInterface untuk mengatur antarmuka pemberitahuan untuk pekerjaan tersebut, aplikasi terakhir yang memanggil metode SetNotifyInterface adalah yang akan menerima pemberitahuan—aplikasi lain tidak akan menerima pemberitahuan.
Contoh
Contoh berikut menunjukkan cara memanggil metode SetNotifyInterface . Untuk detail tentang kelas contoh CNotifyInterface yang digunakan dalam contoh berikut, lihat antarmuka IBackgroundCopyCallback . Contoh mengasumsikan penunjuk antarmuka IBackgroundCopyJob valid.
IBackgroundCopyJob* pJob;
CNotifyInterface* pNotify = new CNotifyInterface();
hr = pJob->SetNotifyInterface(pNotify);
if (SUCCEEDED(hr))
{
hr = pJob->SetNotifyFlags(BG_NOTIFY_JOB_TRANSFERRED |
BG_NOTIFY_JOB_ERROR);
}
pNotify->Release();
pNofity = NULL;
if (FAILED(hr))
{
//Handle error - unable to register for event notification.
}
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
IBackgroundCopyJob2::SetNotifyCmdLine