Fungsi RmRestart (restartmanager.h)
Memulai ulang aplikasi dan layanan yang telah dimatikan oleh fungsi RmShutdown dan yang telah didaftarkan untuk dimulai ulang menggunakan fungsi RegisterApplicationRestart . Fungsi ini hanya dapat dipanggil oleh alat penginstal utama yang disebut fungsi RmStartSession untuk memulai sesi Restart Manager.
Sintaks
DWORD RmRestart(
[in] DWORD dwSessionHandle,
DWORD dwRestartFlags,
[in, optional] RM_WRITE_STATUS_CALLBACK fnStatus
);
Parameter
[in] dwSessionHandle
Handel ke sesi Restart Manager yang ada.
dwRestartFlags
Dicadangkan. Parameter ini harus 0.
[in, optional] fnStatus
Penunjuk ke fungsi panggilan balik pesan status yang digunakan untuk mengomunikasikan status saat fungsi RmRestart sedang berjalan. Jika NULL, tidak ada status yang disediakan.
Nilai kembali
Ini adalah kesalahan terbaru yang diterima. Fungsi ini dapat mengembalikan salah satu kode kesalahan sistem yang didefinisikan dalam Winerror.h.
Nilai | Makna |
---|---|
|
Nilai kesalahan ini dikembalikan jika fungsi RmRestart dipanggil dengan handel sesi yang valid sebelum memanggil fungsi RmShutdown . |
|
Satu atau beberapa aplikasi tidak dapat dimulai ulang. Struktur RM_PROCESS_INFO yang dikembalikan oleh fungsi RmGetList berisi informasi status yang diperbarui. |
|
Fungsi Restart Manager tidak dapat memperoleh mutex tulis registri dalam waktu yang dialokasikan. Mulai ulang sistem disarankan karena penggunaan Restart Manager lebih lanjut kemungkinan akan gagal. |
|
Nilai kesalahan ini dikembalikan oleh fungsi RmRestart ketika permintaan untuk membatalkan operasi berhasil. |
|
Satu atau beberapa argumen tidak benar. Nilai kesalahan ini dikembalikan oleh fungsi Restart Manager jika pointer NULL atau 0 diteruskan dalam parameter yang memerlukan nilai non-null dan bukan nol. |
|
Operasi tidak dapat membaca atau menulis ke registri. |
|
Operasi Restart Manager tidak dapat diselesaikan karena memori tidak cukup tersedia. |
|
Tidak ada sesi Restart Manager untuk handel yang disediakan. |
|
Fungsi berhasil dan kembali. |
Keterangan
Setelah memanggil fungsi RmRestart , struktur RM_PROCESS_INFO yang dikembalikan oleh fungsi RmGetList berisi informasi status yang diperbarui.
Restart Manager menghormati hak istimewa yang memisahkan sesi pengguna atau terminal yang berbeda. Alat penginstal yang berjalan sebagai layanan dengan hak istimewa LocalSystem tidak dapat mematikan atau memulai ulang aplikasi apa pun di sesi pengguna atau terminal lain. Alat penginstal harus menerapkan metode kustom untuk mematikan dan memulai ulang aplikasi yang berjalan di sesi lain. Salah satu metodenya adalah memulai proses penginstal baru di sesi lain untuk melakukan operasi pematian dan hidupkan ulang.
Saat aplikasi konsol dimatikan dan dimulai ulang oleh Restart Manager, aplikasi dimulai ulang di konsol baru.
Penginstal harus selalu memulai ulang aplikasi dan layanan menggunakan fungsi RmRestart bahkan ketika fungsi RmShutdown mengembalikan kesalahan yang menunjukkan bahwa tidak semua aplikasi dan layanan dapat dimatikan.
Fungsi RmRestart tidak memulai ulang aplikasi apa pun yang berjalan dengan hak istimewa yang ditingkatkan. Bahkan jika aplikasi dimatikan oleh Restart Manager.
Fungsi RmRestart tidak memulai ulang aplikasi apa pun yang tidak berjalan sebagai pengguna yang saat ini masuk. Bahkan jika aplikasi dimatikan oleh Restart Manager. Misalnya, fungsi RmRestart tidak memulai ulang aplikasi yang dimulai dengan perintah Jalankan Sebagai yang tidak berjalan sebagai pengguna yang saat ini masuk. Aplikasi ini harus dimulai ulang secara manual.
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 | restartmanager.h |
Pustaka | Rstrtmgr.lib |
DLL | Rstrtmgr.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk