Bagikan melalui


Memulai Layanan Secara Otomatis

Selama boot sistem, SCM memulai semua layanan mulai otomatis dan layanan yang bergantung padanya. Misalnya, jika layanan mulai otomatis bergantung pada layanan demand-start, layanan demand-start juga dimulai secara otomatis.

Urutan beban ditentukan oleh yang berikut:

  1. Urutan grup dalam daftar grup pengurutan beban. Informasi ini disimpan dalam nilai Daftar dalam kunci registri berikut:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder

    Untuk menentukan grup pemesanan beban untuk layanan, gunakan parameter lpLoadOrderGroup dari fungsi CreateService atau ChangeServiceConfig.

  2. Urutan layanan dalam grup yang ditentukan dalam vektor pesanan tag. Informasi ini disimpan dalam kunci registri berikut:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList

  3. Dependensi yang tercantum untuk setiap layanan.

Ketika boot selesai, sistem menjalankan program verifikasi boot yang ditentukan oleh nilai ImagePath dari kunci registri berikut: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BootVerificationProgram.

Secara default, nilai ini tidak diatur. Sistem hanya melaporkan bahwa boot berhasil setelah pengguna pertama masuk. Anda dapat menyediakan program verifikasi boot yang memeriksa sistem untuk masalah dan melaporkan status boot ke SCM menggunakan fungsi NotifyBootConfigStatus.

Setelah boot berhasil, sistem menyimpan klon database dalam konfigurasi last-known-good (LKG). Sistem dapat memulihkan salinan database ini jika perubahan yang dilakukan pada database aktif menyebabkan reboot sistem gagal. Berikut ini adalah kunci registri untuk database ini:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services

di mana XXX adalah nilai yang disimpan dalam nilai registri berikut: HKEY_LOCAL_MACHINE\System\Select\LastKnownGood.

Jika layanan mulai otomatis dengan tingkat kontrol kesalahan SERVICE_ERROR_CRITICAL gagal dimulai, SCM akan me-reboot komputer menggunakan konfigurasi LKG. Jika konfigurasi LKG sudah digunakan, boot gagal.

Layanan mulai otomatis dapat dikonfigurasi sebagai layanan mulai otomatis yang tertunda dengan memanggil fungsi ChangeServiceConfig2 dengan SERVICE_CONFIG_DELAYED_AUTO_START_INFO. Perubahan ini berlaku setelah boot sistem berikutnya. Untuk informasi selengkapnya, lihat SERVICE_DELAYED_AUTO_START_INFO.