Create-Methode der Win32_SystemDriver-Klasse
Die CreateWMI-Klassenmethode erstellt einen neuen Dienst, der vom Systemtreiber verwaltet wird. Der parameter Win32_LoadOrderGroup 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 das Vorhandensein der vorgängern Dienste, damit sie ordnungsgemäß funktionieren.
In diesem Thema wird 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 Service Control Manager-Datenbank behält die Groß-/Kleinschreibung der Zeichen bei, bei Dienstnamenvergleichen wird jedoch immer die Groß-/Kleinschreibung beachtet. Schrägstriche (/) und doppelte 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 in Groß- und Kleinschreibung beibehalten. Bei DisplayName-Vergleichen wird immer zwischen Groß-/Kleinschreibung unterschieden.
Einschränkungen: Akzeptiert denselben Wert wie der Name-Parameter .
Beispiel: "Atdisk".
-
PathName [in]
-
Vollqualifizierter Pfad zu der ausführbaren Datei, die den Dienst implementiert.
Beispiel: "\SystemRoot\System32\drivers\afd.sys".
-
ServiceType [in]
-
Der Typ der Dienste, die für die Prozesse bereitgestellt werden, die sie aufrufen.
-
1 (0x1)
-
Kerneltreiber
-
2 (0x2)
-
Dateisystemtreiber
-
4 (0x4)
-
Adapter
-
8 (0x8)
-
Erkennungstreiber
-
16 (0x10)
-
Eigener Prozess
-
32 (0x20)
-
Freigabeprozess
-
256 (0x100)
-
Interaktiver Prozess
ErrorControl [in]
Schweregrad des Fehlers, wenn die Create-Methode nicht gestartet werden kann. Dieser Wert gibt die Aktion an, die vom Startprogramm ausgeführt wird, wenn ein Fehler auftritt. Alle Fehler werden vom System protokolliert.
0
"Ignore" (Ignorieren)
Der Benutzer wird nicht benachrichtigt.
1
"Normal"
Der Benutzer wird benachrichtigt.
2
"Schwerwiegend"
Das System wird mit der letzten bekannten, fehlerfreien Konfiguration neu gestartet.
3
"Kritisch"
Das System versucht, mit einer guten Konfiguration zu beginnen.
StartMode [in]
Startmodus des Windows-Basisdiensts.
Booten
Gerätetreiber, der vom Betriebssystemladeprogramm gestartet wird. Dieses Wert ist nur für Treiberdienste gültig.
System
Gerätetreiber, der vom Initialisierungsprozess des Betriebssystems gestartet wird. Dieses Wert ist nur für Treiberdienste gültig.
Automatisch
Dienst, der während des Systemstarts automatisch vom Dienststeuerungs-Manager gestartet werden soll.
Manuell
Dienst, der vom Dienststeuerungs-Manager gestartet werden soll, wenn ein Prozess die StartService-Methode aufruft.
Deaktiviert
Dienst, der nicht mehr gestartet werden kann.
DesktopInteract [in]
Wenn true, kann der Dienst die Fenster auf dem Desktop erstellen oder mit ihnen kommunizieren.
StartName [in]
Kontoname, unter dem der Dienst ausgeführt wird. Je nach Diensttyp kann der Kontoname im Format "Domänenname\Benutzername" oder "Benutzerprinzipalname" (UPN) (Username@DomainName) vorliegen. Der Dienstprozess wird bei der Ausführung mit einem dieser beiden Formulare protokolliert. Wenn das Konto zur integrierten Domäne gehört, kann .\Username angegeben werden. Wenn NULL angegeben ist, wird der Dienst als LocalSystem-Konto angemeldet. Bei Treibern auf Kernel- oder Systemebene enthält StartName den Treiberobjektnamen (d. h. \FileSystem\Rdr oder \Driver\Xns), den das Eingabe- und Ausgabesystem (E/A) 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 wird.
Beispiel: DWDOM\Admin
StartPassword [in]
Kennwort für den Kontonamen, der durch den Parameter StartName angegeben wird. Geben Sie NULL an, wenn Sie das Kennwort nicht ändern. Geben Sie eine leere Zeichenfolge an, wenn der Dienst kein Kennwort besitzt.
LoadOrderGroup [in]
Der dem neuen Dienst zugeordnete Gruppenname. Ladereihenfolgegruppen 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 Parameter LoadOrderGroupDependencies aufgeführt werden. Dienste in der Liste der Lastenreihenfolgen werden zuerst gestartet, gefolgt von Diensten in Gruppen, die nicht in der Liste der Lastenreihenfolgengruppe enthalten sind, gefolgt von Diensten, die nicht zu einer Gruppe gehören. Die Registrierung enthält eine Liste der Ladereihenfolgegruppen unter:
HKEY_LOCAL_MACHINE\System\Currentcontrolset\Steuerung\ServiceGroupOrder
LoadOrderGroupDependencies [in]
Array von Lastenreihenfolgegruppen, 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 skript können Sie vbArray übergeben. Wenn der Zeiger NULL ist oder auf eine leere Zeichenfolge zeigt, weist der Dienst keine Abhängigkeiten auf. Gruppennamen müssen durch das SC_GROUP_IDENTIFIER (definiert in der Datei Winsvc.h) präfixiert werden, 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 nach dem Versuch, alle Mitglieder der Gruppe zu starten, mindestens ein Mitglied der Gruppe ausgeführt wird.
ServiceDependencies [in]
Ein Array, das die Namen der Dienste 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 in einem Skript können Sie 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ängig ist, ausgeführt wird.
Rückgabewert
Gibt den Wert 0 (null) zurück, wenn der Dienst erfolgreich erstellt wurde, 1 (1), wenn die Anforderung nicht unterstützt wird, und eine andere Zahl, die auf einen Fehler hinweist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
WindowsServer 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|