Fungsi RmShutdown (restartmanager.h)
Memulai penonaktifan aplikasi. Fungsi ini hanya dapat dipanggil dari alat penginstal yang memulai sesi Restart Manager menggunakan fungsi RmStartSession .
Sintaks
DWORD RmShutdown(
[in] DWORD dwSessionHandle,
[in] ULONG lActionFlags,
[in, optional] RM_WRITE_STATUS_CALLBACK fnStatus
);
Parameter
[in] dwSessionHandle
Handel ke sesi Restart Manager yang ada.
[in] lActionFlags
Satu atau beberapa opsi RM_SHUTDOWN_TYPE yang mengonfigurasi penonaktifan komponen. Nilai berikut dapat digabungkan oleh operator OR untuk menentukan bahwa aplikasi dan layanan yang tidak responsif harus dimatikan secara paksa jika, dan hanya jika, semua aplikasi telah didaftarkan untuk memulai ulang.
Nilai | Makna |
---|---|
|
Paksa aplikasi dan layanan yang tidak responsif untuk dimatikan setelah periode waktu habis. Aplikasi yang tidak merespons permintaan matikan dipaksa untuk dimatikan dalam waktu 30 detik. Layanan yang tidak merespons permintaan matikan dipaksa dimatikan setelah 20 detik. |
|
Matikan aplikasi jika dan hanya jika semua aplikasi telah didaftarkan untuk memulai ulang menggunakan fungsi RegisterApplicationRestart . Jika ada proses atau layanan yang tidak dapat dimulai ulang, maka tidak ada proses atau layanan yang dimatikan. |
[in, optional] fnStatus
Penunjuk ke fungsi RM_WRITE_STATUS_CALLBACK yang digunakan untuk mengomunikasikan status terperinci saat fungsi ini dijalankan. 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 ditentukan dalam Winerror.h.
Nilai | Makna |
---|---|
|
Semua operasi matikan, mulai ulang, dan panggilan balik berhasil diselesaikan. |
|
Tidak ada tindakan matikan yang dilakukan. Satu atau beberapa proses atau layanan mengharuskan menghidupkan ulang sistem untuk dimatikan. Kode kesalahan ini dikembalikan ketika Restart Manager mendeteksi bahwa menghidupkan ulang sistem diperlukan sebelum mematikan aplikasi apa pun. |
|
Beberapa aplikasi tidak dapat dimatikan. AppStatus dari struktur RM_PROCESS_INFO yang dikembalikan oleh fungsi RmGetList berisi informasi status yang diperbarui. |
|
Nilai kesalahan ini dikembalikan oleh fungsi RmShutdown ketika permintaan untuk membatalkan operasi berhasil. |
|
Fungsi Restart Manager tidak dapat memperoleh mutex tulis Registri dalam waktu yang dialokasikan. Sistem disarankan untuk memulai ulang karena penggunaan Restart Manager lebih lanjut kemungkinan akan gagal. |
|
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. |
Keterangan
Fungsi RmShutdown memanggil RmGetList dan memperbarui daftar proses yang saat ini menggunakan sumber daya terdaftar sebelum mencoba mematikan proses apa pun. Fungsi RmShutdown kemudian mencoba mematikan proses menggunakan sumber daya terdaftar dalam daftar terbaru. Fungsi RmShutdown memperbarui anggota AppStatus dari struktur RM_PROCESS_INFO yang dikembalikan oleh fungsi RmGetList dengan informasi status terperinci.
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 matikan dan mulai ulang.
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.
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