Bagikan melalui


Fungsi RegisterApplicationRestart (winbase.h)

Mendaftarkan instans aktif aplikasi untuk memulai ulang.

Sintaks

HRESULT RegisterApplicationRestart(
  [in, optional] PCWSTR pwzCommandline,
  [in]           DWORD  dwFlags
);

Parameter

[in, optional] pwzCommandline

Penunjuk ke string Unicode yang menentukan argumen baris perintah untuk aplikasi saat dimulai ulang. Ukuran maksimum baris perintah yang dapat Anda tentukan adalah RESTART_MAX_CMD_LINE karakter. Jangan sertakan nama executable dalam baris perintah; fungsi ini menambahkannya untuk Anda.

Jika parameter ini NULL atau string kosong, baris perintah yang terdaftar sebelumnya akan dihapus. Jika argumen berisi spasi, gunakan tanda kutip di sekitar argumen .

[in] dwFlags

Parameter ini bisa 0 atau satu atau beberapa nilai berikut.

Nilai Makna
RESTART_NO_CRASH
1
Jangan memulai ulang proses jika berakhir karena pengecualian yang tidak tertangani.
RESTART_NO_HANG
2
Jangan memulai ulang proses jika berakhir karena aplikasi tidak merespons.
RESTART_NO_PATCH
4
Jangan memulai ulang proses jika dihentikan karena penginstalan pembaruan.
RESTART_NO_REBOOT
8
Jangan mulai ulang proses jika komputer dimulai ulang sebagai hasil dari pembaruan.

Nilai kembali

Fungsi ini mengembalikan S_OK pada keberhasilan atau salah satu kode kesalahan berikut.

Menampilkan kode Deskripsi
E_FAIL
Kesalahan internal.
E_INVALIDARG
Baris perintah yang ditentukan terlalu panjang.

Keterangan

Pendaftaran awal Anda untuk memulai ulang harus dilakukan sebelum aplikasi menemukan pengecualian yang tidak tertangani atau menjadi tidak responsif. Anda kemudian dapat memanggil fungsi ini dari dalam panggilan balik pemulihan Anda untuk memperbarui baris perintah.

Untuk aplikasi Windows yang sedang diperbarui, kesempatan terakhir untuk memanggil fungsi ini adalah saat memproses pesan WM_QUERYENDSESSION . Untuk aplikasi konsol yang sedang diperbarui, pendaftaran harus terjadi sebelum alat penginstal mencoba mematikan aplikasi (Anda perlu menjaga pendaftaran tetap terkini; Anda tidak dapat memanggil fungsi ini saat menangani pemberitahuan CTRL_C_EVENT).

Jika Anda mendaftar untuk memulai ulang dan aplikasi mengalami pengecualian yang tidak tertangani atau tidak responsif, pengguna ditawari kesempatan untuk memulai ulang aplikasi; aplikasi tidak dimulai ulang secara otomatis tanpa persetujuan pengguna. Namun, jika aplikasi sedang diperbarui dan memerlukan mulai ulang, aplikasi dimulai ulang secara otomatis.

Untuk mencegah hidupkan ulang siklus, sistem hanya akan memulai ulang aplikasi jika telah berjalan selama minimal 60 detik.

Perhatikan bahwa agar aplikasi dimulai ulang ketika pembaruan memerlukan hidupkan ulang komputer, penginstal harus memanggil fungsi ExitWindowsEx dengan bendera EWX_RESTARTAPPS diatur atau fungsi InitiateShutdown dengan bendera SHUTDOWN_RESTARTAPPS diatur.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

UnregisterApplicationRestart