Dienste automatisch starten

Während des Systemstarts startet der SCM alle Autostart-Dienste und die Dienste, von denen sie abhängen. Wenn z. B. ein Automatischer Startdienst von einem Bedarfsstartdienst abhängt, wird der Bedarfsstartdienst auch automatisch gestartet.

Die Reihenfolge der Ladung wird wie folgt bestimmt:

  1. Die Reihenfolge der Gruppen in der Gruppenliste für die Lastverteilung. Diese Informationen werden im Wert Liste im folgenden Registrierungsschlüssel gespeichert:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder

    Verwenden Sie den Parameter lpLoadOrderGroup der Funktion CreateService oder ChangeServiceConfig, um die Ladereihenfolgegruppe für einen Dienst anzugeben.

  2. Die Reihenfolge der Dienste innerhalb einer Gruppe, die im Tag-Order-Vektor angegeben ist. Diese Informationen werden in dem folgenden Registrierungsschlüssel gespeichert:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList

  3. Die für jeden Dienst aufgeführten Abhängigkeiten.

Wenn der Bootvorgang abgeschlossen ist, führt das System das durch den ImagePath-Wert des folgenden Registrierungsschlüssels angegebene Boot-Überprüfungsprogramm aus: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BootVerificationProgram.

Standardmäßig ist dieser Wert nicht festgelegt. Das System meldet einfach, dass der Start erfolgreich war, nachdem sich der erste Benutzer angemeldet hat. Sie können ein Startüberprüfungsprogramm bereitstellen, das das System auf Probleme überprüft und den Startstatus mit der Funktion NotifyBootConfigStatus an den SCM meldet.

Nach einem erfolgreichen Start speichert das System einen Klon der Datenbank in der zuletzt bekannten (LKG)-Konfiguration. Das System kann diese Kopie der Datenbank wiederherstellen, wenn Änderungen an der aktiven Datenbank dazu führen, dass der Systemneustart fehlschlägt. Es folgt der Registrierungsschlüssel für diese Datenbank:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services

Wobei XXX der Wert ist, der im folgenden Registrierungswert gespeichert wird: HKEY_LOCAL_MACHINE\System\Select\LastKnownGood.

Wenn ein Autostart-Dienst mit einer SERVICE_ERROR_CRITICAL-Fehlerkontrollstufe nicht gestartet werden kann, startet der SCM den Computer unter Verwendung der LKG-Konfiguration neu. Wenn die LKG-Konfiguration bereits verwendet wird, schlägt der Start fehl.

Ein Autostart-Dienst kann durch Aufruf der Funktion ChangeServiceConfig2 mit SERVICE_CONFIG_DELAYED_AUTO_START_INFO als verzögerter Autostart-Dienst konfiguriert werden. Diese Änderung wird nach dem nächsten Systemstart wirksam. Weitere Informationen finden Sie unter SERVICE_DELAYED_AUTO_START_INFO.