Datenbank der installierten Dienste

Der SCM verwaltet eine Datenbank mit installierten Diensten in der Registrierung. Die Datenbank wird vom SCM und von Programmen verwendet, die Dienste hinzufügen, ändern oder konfigurieren. Es folgt der Registrierungsschlüssel für diese Datenbank: HKEY _ LOCAL MACHINE SYSTEM _ \ \ CurrentControlSet \ Services.

Dieser Schlüssel enthält einen Unterschlüssel für jeden installierten Dienst und Treiberdienst. Der Name des Unterschlüssels ist der Name des Diensts, wie von der CreateService-Funktion angegeben, als der Dienst von einem Dienstkonfigurationsprogramm installiert wurde.

Eine erste Kopie der Datenbank wird erstellt, wenn das System installiert wird. Die Datenbank enthält Einträge für die Gerätetreiber, die während des Systemstarts erforderlich sind. Die Datenbank enthält die folgenden Informationen zu jedem installierten Dienst und Treiberdienst:

  • Der Diensttyp. Dies gibt an, ob der Dienst in einem eigenen Prozess ausgeführt wird oder einen Prozess mit anderen Diensten teilt. Bei Treiberdiensten gibt dies an, ob der Dienst ein Kerneltreiber oder ein Dateisystemtreiber ist.
  • Der Starttyp. Dies gibt an, ob der Dienst- oder Treiberdienst automatisch beim Systemstart gestartet wird (Automatischer Startdienst) oder ob der SCM ihn startet, wenn er von einem Dienststeuerungsprogramm (Demand-Start-Dienst) angefordert wird. Der Starttyp kann auch angeben, dass der Dienst oder Treiberdienst deaktiviert ist. In diesem Fall kann er nicht gestartet werden.
  • Die Fehlerkontrollebene. Dies gibt den Schweregrad des Fehlers an, wenn der Dienst oder Treiberdienst beim Systemstart nicht gestartet werden kann, und bestimmt die Aktion, die das Startprogramm ausgeführt.
  • Der vollqualifizierte Pfad der ausführbaren Datei. Die Dateinamenerweiterung ist .EXE für Dienste und .SYS Treiberdienste.
  • Optionale Abhängigkeitsinformationen, die verwendet werden, um die richtige Reihenfolge für das Starten von Diensten oder Treiberdiensten zu bestimmen. Bei Diensten können diese Informationen eine Liste von Diensten enthalten, die der SCM starten muss, bevor er den angegebenen Dienst starten kann, den Namen einer Lastbestellungsgruppe, zu der der Dienst gehört, und einen Tagbezeichner, der die Start reihenfolge des Diensts in seiner Lastbestellungsgruppe angibt. Bei Treiberdiensten enthält diese Information eine Liste von Treibern, die vor dem angegebenen Treiber gestartet werden müssen.
  • Geben Sie für Dienste einen optionalen Kontonamen und ein Kennwort an. Das Dienstprogramm wird im Kontext dieses Kontos ausgeführt. Wenn kein Konto angegeben wird, wird der Dienst im Kontext des LocalSystem-Kontos ausgeführt.
  • Bei Treiberdiensten ein optionaler Treiberobjektname (z. B. FileSystem Rdr oder Driver Xns), der vom E/A-System zum Laden des \ \ \ \ Gerätetreibers verwendet wird. Wenn kein Name angegeben wird, erstellt das E/A-System einen Standardnamen basierend auf dem Namen des Treiberdiensts.

Hinweis

Diese Datenbank wird auch als ServicesActive-Datenbank oder SCM-Datenbank bezeichnet. Sie müssen die vom SCM bereitgestellten Funktionen verwenden, anstatt die Datenbank direkt zu ändern.