Create-Methode der Win32 _ BaseService-Klasse

Die Methode WMI-Klasse erstellen erstellt einen neuen Dienst. Der LoadOrderGroup-Parameter stellt eine Gruppierung von Systemdiensten dar, die Ausführungsabhängigkeiten definieren. Die Dienste müssen in der von der Load Order Group angegebenen Reihenfolge initiiert werden, da die Dienste voneinander abhängig sind. Diese abhängigen Dienste erfordern, dass die Vorgängerdienste vorhanden sind, damit sie ordnungsgemäß funktionieren.

In diesem Thema wird die MOF-Syntax (Managed Object Format) verwendet. Weitere Informationen zur Verwendung dieser Methode finden Sie unter Aufrufen einer Methode.

Syntax

uint32 Create(
  [in] string  Name,
  [in] string  DisplayName,
  [in] string  PathName,
  [in] uint8   ServiceType,
  [in] uint8   ErrorControl,
  [in] string  StartMode,
  [in] boolean DesktopInteract,
  [in] string  StartName,
  [in] string  StartPassword,
  [in] string  LoadOrderGroup,
  [in] string  LoadOrderGroupDependencies[],
  [in] string  ServiceDependencies[]
);

Parameter

Name [ In]

Name des Diensts, der in der Create-Methode installiert werden soll. Die maximale Zeichenfolgenlänge beträgt 256 Zeichen. Die Dienststeuerungs-Manager-Datenbank behält die Groß-/Kleinschreibung der Zeichen bei, bei Dienstnamenvergleichen wird jedoch immer die Groß-/Kleinschreibung beachtet. Schrägstriche (/) und doppelte umgekehrte Schrägstriche \ () sind ungültige Dienstnamenzeichen.

DisplayName [ In]

Anzeigename des Diensts. Die maximale Länge der Zeichenfolge beträgt 256 Zeichen. Der Name wird im Dienststeuerungs-Manager beibehalten. Bei DisplayName-Vergleichen wird die Groß-/Kleinschreibung immer nicht beachtet.

Einschränkungen: Akzeptiert den gleichen Wert wie der Name-Parameter.

Beispiel: "Atdisk".

PathName [ In]

Vollqualifizierte Pfad zur ausführbaren Datei, die den Dienst implementiert.

Beispiel: \ "SystemRoot \ \ System32-Treiber \afd.sys".

ServiceType [ In]

Typ der Dienste, die für Prozesse bereitgestellt werden, die sie aufrufen. Der Wert ist eine Bitmap.

Kerneltreiber (1)

Dateisystemtreiber (2)

Adapter (4)

Erkennungstreiber (8)

Eigener Prozess (16)

Freigabeprozess (32)

256

Interaktiver Prozess

ErrorControl [ In]

Schweregrad des Fehlers, wenn die Create-Methode nicht gestartet werden kann. Der Wert gibt die Aktion an, die vom Startprogramm ausgeführt wird, wenn ein Fehler auftritt. Alle Fehler werden vom System protokolliert.

Ignorieren (0)

Der Benutzer wird nicht benachrichtigt.

Normal (1)

Der Benutzer wird benachrichtigt.

Schwerwiegend (2)

Das System wird mit der letzten bekannten, fehlerfreien Konfiguration neu gestartet.

Kritisch (3)

Das System versucht, mit einer guten Konfiguration zu beginnen.

StartMode [ In]

Startmodus des Windows Basisdiensts.

Startstart ("Start")

Vom Betriebssystemladeprogramm gestarteter Gerätetreiber. Dieses Wert ist nur für Treiberdienste gültig.

Systemstart ("System")

Der Vom Initialisierungsprozess des Betriebssystems gestartete Gerätetreiber. Dieses Wert ist nur für Treiberdienste gültig.

Automatischer Start ("Automatisch")

Der Dienst soll während des Systemstarts automatisch vom Dienstkontroll-Manager gestartet werden.

Bedarfsstart ("manuell")

Dienst, der vom Dienststeuerungs-Manager gestartet werden soll, wenn ein Prozess die StartService-Methode aufruft.

Deaktiviert ("Deaktiviert")

Dienst, der nicht mehr gestartet werden kann.

DesktopInteract [ In]

True gibt an, dass der Dienst Windows auf dem Desktop erstellen oder mit ihnen kommunizieren kann.

StartName [ In]

Kontoname, unter dem der Dienst ausgeführt wird. Je nach Diensttyp kann der Kontoname die Form \ "Domänenname-Benutzername" aufweisen. Der Dienstprozess wird bei der Ausführung mit einer dieser beiden Formen protokolliert. Wenn das Konto zur integrierten Domäne gehört, ". \ Username" kann angegeben werden. Wenn NULL angegeben wird, wird der Dienst als LocalSystem-Konto angemeldet. Für Treiber auf Kernel- oder Systemebene enthält StartName den Namen des Treiberobjekts (d.h. \ FileSystem \ Rdr oder \ Driver \ Xns), den das E/A-System zum Laden des Gerätetreibers verwendet. Wenn NULL angegeben ist, wird der Treiber mit einem Standardobjektnamen ausgeführt, der vom E/A-System basierend auf dem Dienstnamen erstellt wurde. Beispiel: DWDOM \ Admin.

StartPassword [ In]

Kennwort für den vom StartName-Parameter angegebenen Kontonamen. Geben Sie NULL an, wenn Sie das Kennwort nicht ändern. Geben Sie eine leere Zeichenfolge an, wenn der Dienst kein Kennwort besitzt.

LoadOrderGroup [ In]

Gruppenname, der dem neuen Dienst zugeordnet ist. Ladereihenfolgengruppen sind in der Registrierung enthalten und bestimmen die Reihenfolge, in der Dienste in das Betriebssystem geladen werden. Wenn der Zeiger NULL ist oder auf eine leere Zeichenfolge zeigt, gehört der Dienst nicht zu einer Gruppe. Abhängigkeiten zwischen Gruppen sollten im LoadOrderGroupDependencies-Parameter aufgeführt werden. Dienste in der Liste der Ladereihenfolgegruppen werden zuerst gestartet, gefolgt von Diensten in Gruppen, die nicht in der Liste der Lastenreihenfolgegruppen enthalten sind, gefolgt von Diensten, die keiner Gruppe angehören. Die Registrierung verfügt über eine Liste der Ladereihenfolgegruppen unter:

HKEY _ LOCAL _ MACHINE \ System \ CurrentControlSet \ Control \ ServiceGroupOrder

LoadOrderGroupDependencies [ In]

Array von Lastreihenfolgegruppen, die vor diesem Dienst gestartet werden müssen. Jedes Element im Array wird durch NULL getrennt, und die Liste wird durch zwei NULL-Werte beendet. In Visual Basic oder Skripts können Sie ein vbArray übergeben. Wenn der Zeiger NULL ist oder auf eine leere Zeichenfolge zeigt, weist der Dienst keine Abhängigkeiten auf. Gruppennamen muss das Zeichen SC _ GROUP _ IDENTIFIER (definiert in der Datei Winsvc.h) vorangestellt sein, um sie von einem Dienstnamen zu unterscheiden, da Dienste und Dienstgruppen denselben Namespace verwenden. Abhängigkeit von einer Gruppe bedeutet, dass dieser Dienst ausgeführt werden kann, wenn mindestens ein Mitglied der Gruppe ausgeführt wird, nachdem versucht wurde, alle Mitglieder der Gruppe zu starten.

ServiceDependencies [ In]

Array, das Namen von Diensten enthält, die gestartet werden müssen, bevor dieser Dienst gestartet wird. Jedes Element im Array wird durch NULL getrennt, und die Liste wird durch zwei NULL-Werte beendet. In Visual Basic oder Skripts können Sie ein vbArray übergeben. Wenn der Zeiger NULL ist oder auf eine leere Zeichenfolge zeigt, weist der Dienst keine Abhängigkeiten auf. Abhängigkeit von einem Dienst bedeutet, dass dieser Dienst nur ausgeführt werden kann, wenn der Dienst, von dem er abhängt, ausgeführt wird.

Rückgabewert

Gibt einen der in der folgenden Liste aufgeführten Werte oder einen anderen Wert zurück, um einen Fehler anzugeben.

Erfolgreich

0

Die Anforderung wurde akzeptiert.

Nicht unterstützt

1

Die Anforderung wird nicht unterstützt.

Zugriff verweigert

2

Der Benutzer hatte nicht den erforderlichen Zugriff.

Ausgeführte abhängige Dienste

3

Der Dienst kann nicht beendet werden, da andere ausgeführte Dienste davon abhängig sind.

Ungültiges Dienststeuerelement

4

Der angeforderte Steuerungscode ist nicht gültig, oder es ist für den Dienst nicht akzeptabel.

Dienst kann Steuerelement nicht akzeptieren

5

Der angeforderte Steuerungscode kann nicht an den Dienst gesendet werden, da der Zustand des Diensts (Win32 _ BaseService) ist.State-Eigenschaft) ist gleich 0, 1 oder 2.

Dienst nicht aktiv

6

Der Dienst wurde nicht gestartet.

Timeout für Dienstanforderungen

7

Der Dienst hat auf die Startanforderung nicht rechtzeitig reagiert.

Unbekannter Fehler

8

Interaktiver Prozess.

Pfad nicht gefunden

9

Der Verzeichnispfad zur ausführbaren Dienstdatei wurde nicht gefunden.

Dienst wird bereits ausgeführt

10

Der Dienst wird schon ausgeführt.

Dienstdatenbank gesperrt

11

Die Datenbank zum Hinzufügen eines neuen Diensts ist gesperrt.

Dienstabhängigkeit gelöscht

12

Eine Abhängigkeit, von der dieser Dienst abhängt, wurde aus dem System entfernt.

Dienstabhängigkeitsfehler

13

Der Dienst hat den Dienst nicht gefunden, der von einem abhängigen Dienst benötigt wird.

Dienst deaktiviert

14

Der Dienst wurde vom System deaktiviert.

Fehler bei der Dienstanmeldung

15

Der Dienst hat nicht die richtige Authentifizierung, um im System ausgeführt zu werden.

Dienst, der für den Löschvorgang markiert ist

16

Dieser Dienst wird aus dem System entfernt.

Dienst ohne Thread

17

Es gibt keinen Ausführungsthread für den Dienst.

Status Circular Dependency

18

Es gibt Ringabhängigkeiten beim Starten des Diensts.

Doppelter Statusname

19

Es wird ein Dienst unter dem gleichen Namen ausgeführt.

Ungültiger Statusname

20

Der Name des Diensts enthält ungültige Zeichen.

Ungültiger Parameter "Status"

21

An den Dienst wurden ungültige Parameter übergeben.

Status Ungültiges Dienstkonto

22

Das Konto, unter dem dieser Dienst ausgeführt werden soll, ist entweder ungültig oder verfügt nicht über die Berechtigungen zum Ausführen des Diensts.

Statusdienst ist vorhanden

23

Der Dienst ist in der Datenbank der im System verfügbaren Dienste vorhanden.

Dienst wurde bereits angehalten

24

Der Dienst ist im System derzeitig angehalten.

Andere

25 4294967295

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
Windows Server 2008
Namespace
Stamm \ CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Weitere Informationen

Betriebssystemklassen

Win32 _ BaseService