Metode IBackgroundCopyJob2::SetNotifyCmdLine (bits1_5.h)

Menentukan program yang akan dijalankan jika pekerjaan memasuki status BG_JOB_STATE_ERROR atau BG_JOB_STATE_TRANSFERRED . BITS menjalankan program dalam konteks pengguna yang memanggil metode ini.

Sintaks

HRESULT SetNotifyCmdLine(
  [in] LPCWSTR Program,
  [in] LPCWSTR Parameters
);

Parameter

[in] Program

String yang dihentikan null yang berisi program yang akan dijalankan. Parameter pProgram terbatas pada MAX_PATH karakter, tidak termasuk terminator null. Anda harus menentukan jalur lengkap ke program; metode tidak akan menggunakan jalur pencarian untuk menemukan program.

Untuk menghapus pemberitahuan baris perintah, atur pProgram dan pParameters ke NULL. Metode gagal jika pProgramnull dan pParametersnon-NULL.

[in] Parameters

String yang dihentikan null yang berisi parameter program dalam pProgram. Parameter pertama harus berupa program dalam pProgram (gunakan tanda kutip jika jalur menggunakan nama file panjang). Parameter pParameters dibatasi hingga 4.000 karakter, tidak termasuk terminator null. Parameter ini bisa NULL.

Menampilkan nilai

Metode ini mengembalikan nilai HRESULT berikut, serta yang lain.

Menampilkan kode Deskripsi
S_OK
Berhasil.
BG_E_INVALID_STATE
Status pekerjaan tidak dapat BG_JOB_STATE_CANCELLED atau BG_JOB_STATE_ACKNOWLEDGED.
BG_E_STRING_TOO_LONG
String pProgram atau pParameters terlalu panjang.

Keterangan

BITS memanggil fungsi CreateProcessAsUser untuk meluncurkan program.

Program Anda harus mengembalikan kode keluar nol. Jika program Anda tidak mengembalikan kode keluar nol, BITS akan memeriksa status pekerjaan. Jika program tidak membatalkan atau menyelesaikan pekerjaan, BITS memanggil program lagi setelah penundaan percobaan kembali minimum yang ditentukan untuk pekerjaan berakhir.

BITS 1.5 dan yang lebih lama: BITS memanggil program hanya sekali.

Untuk menjalankan skrip, tentukan WScript.exe (sertakan jalur lengkap ke WScript.exe) dalam pProgram. Parameter pParameters harus menyertakan WScript.exe, nama skrip, dan argumen apa pun.

Jika program Anda memerlukan informasi terkait pekerjaan, Anda harus meneruskan informasi ini sebagai argumen. Jangan sertakan variabel lingkungan, seperti %system32%, dalam pProgram atau pParameters — variabel tersebut tidak diperluas.

Anda harus menyertakan jalur lengkap ke program. Jika salah satu argumen dalam pParameters menyertakan jalur yang menggunakan nama file panjang, seperti nama modul, gunakan tanda kutip di sekitar jalur.

Jika program yang ingin Anda jalankan menggunakan file balasan atau unduhan, program harus memanggil metode IBackgroundCopyJob::Complete untuk membuat file tersedia untuk klien.

Panggil metode IBackgroundCopyJob::SetNotifyFlags untuk menentukan kapan harus menjalankan program. Anda dapat meminta eksekusi baris perintah hanya untuk kesalahan pekerjaan atau peristiwa yang ditransfer, bukan peristiwa modifikasi pekerjaan. Perhatikan bahwa BITS masih menjalankan baris perintah bahkan jika Anda memanggil metode SetNotifyCmdLine setelah peristiwa terjadi.

Jika pekerjaan BITS berada dalam konteks akun layanan (yaitu, networkservice/localsystem/localservice), tidak ada bentuk panggilan balik baris perintah yang akan dijalankan.

Jika Anda memanggil metode SetNotifyCmdLine dan metode IBackgroundCopyJob::SetNotifyInterface , BITS akan menjalankan baris perintah hanya jika antarmuka pemberitahuan menjadi tidak valid atau metode pemberitahuan yang dipanggil BITS mengembalikan kode kegagalan. Misalnya, jika metode pemberitahuan yang dipanggil BITS mengembalikan E_FAIL, BITS akan menjalankan baris perintah. Namun, jika metode pemberitahuan mengembalikan S_OK, BITS tidak akan menjalankan baris perintah. Jika metode pemberitahuan dan permintaan eksekusi baris perintah gagal, BITS akan mengirim pemberitahuan lagi setelah periode percobaan kembali minimum berakhir.

Perhatikan bahwa memanggil metode IBackgroundCopyJob::TakeOwnership menghapus pemberitahuan baris perintah dari pekerjaan.

Contoh

Untuk contoh yang memanggil metode SetNotifyCmdLine , lihat Mendaftar untuk Menjalankan Program.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2003
Target Platform Windows
Header bits1_5.h (termasuk Bits.h)
Pustaka Bits.lib
DLL BitsPrx2.dll
Redistribusi BITS 1.5 di Windows XP

Lihat juga

IBackgroundCopyJob2::GetNotifyCmdLine

IBackgroundCopyJob::SetNotifyFlags

IBackgroundCopyJob::SetNotifyInterface