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 kembali
Fungsi ini mengembalikan S_OK pada keberhasilan atau salah satu kode kesalahan berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Kesalahan internal. |
|
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 |