Metode IBackgroundCopyJob::SetNotifyInterface (bits.h)

Mengidentifikasi implementasi antarmuka IBackgroundCopyCallback Anda ke BITS. Gunakan antarmuka IBackgroundCopyCallback untuk menerima pemberitahuan peristiwa terkait pekerjaan.

Syntax

HRESULT SetNotifyInterface(
  IUnknown *Val
);

Parameter-parameternya

Val

Penunjuk antarmuka IBackgroundCopyCallback . Untuk menghapus penunjuk antarmuka panggilan balik saat ini, atur parameter ini ke NULL.

Mengembalikan nilai

Metode ini mengembalikan nilai HRESULT berikut, serta yang lain.

Mengembalikan kode Description
S_OK
Penunjuk antarmuka pemberitahuan berhasil diatur.
BG_E_INVALID_STATE
Status pekerjaan tidak dapat BG_JOB_STATE_CANCELLED atau BG_JOB_STATE_ACKNOWLEDGED.

Komentar

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 berakhir; 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 bahkan jika 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 untuk memanggil metode SetNotifyInterface adalah yang akan menerima pemberitahuan—aplikasi lain tidak akan menerima pemberitahuan.

Examples

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
Platform Target Windows
Header bits.h
Library Bits.lib
DLL QmgrPrxy.dll

Lihat juga

IBackgroundCopyCallback

IBackgroundCopyJob2::SetNotifyCmdLine

IBackgroundCopyJob::GetNotifyInterface

IBackgroundCopyJob::SetNotifyFlags