Avvio automatico dei servizi
Durante l'avvio del sistema, SCM avvia tutti i servizi di avvio automatico e i servizi da cui dipendono. Ad esempio, se un servizio di avvio automatico dipende da un servizio di avvio a richiesta, il servizio di avvio della richiesta viene avviato automaticamente.
L'ordine di carico è determinato dai seguenti elementi:
Ordine dei gruppi nell'elenco dei gruppi di ordinamento del carico. Queste informazioni vengono archiviate nel valore List nella chiave del Registro di sistema seguente:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
Per specificare il gruppo di ordinamento del carico per un servizio, usare il parametro lpLoadOrderGroup dell'CreateServiceo funzione di ChangeServiceConfig.
Ordine dei servizi all'interno di un gruppo specificato nel vettore di ordine dei tag. Queste informazioni vengono archiviate nella seguente chiave del Registro di sistema:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
Dipendenze elencate per ogni servizio.
Al termine dell'avvio, il sistema esegue il programma di verifica di avvio specificato dal valore ImagePath della chiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BootVerificationProgram.
Per impostazione predefinita, questo valore non è impostato. Il sistema segnala semplicemente che l'avvio è riuscito dopo che il primo utente ha eseguito l'accesso. È possibile fornire un programma di verifica di avvio che controlla il sistema per individuare i problemi e segnala lo stato di avvio a SCM usando la funzione NotifyBootConfigStatus.
Dopo un avvio riuscito, il sistema salva un clone del database nell'ultima configurazione LKG (Known Good). Il sistema può ripristinare questa copia del database se le modifiche apportate al database attivo causano un errore del riavvio del sistema. Di seguito è riportata la chiave del Registro di sistema per questo database:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Servizi
dove XXX è il valore salvato nel seguente registro: HKEY_LOCAL_MACHINE\System\Select\LastKnownGood.
Se un servizio di avvio automatico con un livello di controllo degli errori SERVICE_ERROR_CRITICAL non riesce ad avviarsi, il Gestore del Controllo dei Servizi riavvia il computer usando la configurazione LKG. Se la configurazione LKG è già in uso, l'avvio ha esito negativo.
Un servizio di avvio automatico può essere configurato come servizio di avvio automatico ritardato chiamando la funzione diChangeServiceConfig2 con SERVICE_CONFIG_DELAYED_AUTO_START_INFO. Questa modifica diventa effettiva dopo l'avvio del sistema successivo. Per ulteriori informazioni, consultare SERVICE_DELAYED_AUTO_START_INFO.