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:

  1. 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 della funzione CreateService o ChangeServiceConfig.

  2. 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

  3. 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\Services

dove XXX è il valore salvato nel valore del Registro di sistema seguente: HKEY_LOCAL_MACHINE\System\Select\LastKnownGood.

Se l'avvio automatico di un servizio con un livello di controllo degli errori di edizione Standard RVICE_ERROR_CRITICAL non viene avviato, Gestione configurazione configurazione locale 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 ChangeServiceConfig2 con edizione Standard RVICE_CONFIG_DELAYED_AUTO_START_INFO. Questa modifica diventa effettiva dopo l'avvio del sistema successivo. Per altre informazioni, vedere edizione Standard RVICE_DELAYED_AUTO_START_INFO.