Change-Methode der Win32_SystemDriver-Klasse

Die ChangeWMI-Klassenmethode ändert einen Win32_SystemDriver-Dienst . 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 Change(
  [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

DisplayName [in]

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

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

Beispiel: "Atdisk"

PathName [in]

Der vollqualifizierte 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]

Der Schweregrad des Fehlers, wenn dieser Dienst während des Starts 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)

Normal. Der Benutzer wird benachrichtigt.

Schwerwiegend (2)

Das System wird mit der letzten guten Konfiguration neu gestartet.

Kritisch (3)

Das System versucht, mit einer fehlerfreien Konfiguration zu neu starten.

StartMode [in]

Der Startmodus des Windows-Basisdiensts.

Startstart

Gerätetreiber, der vom Betriebssystemladeprogramm gestartet wird.

Startstart

Gerätetreiber, den das Betriebssystemladeprogramm startet.

Systemstart

Gerätetreiber, der vom Initialisierungsprozess des Betriebssystems gestartet wird. Dieses Wert ist nur für Treiberdienste gültig.

Automatischer Start

Dienst, der während des Systemstarts automatisch vom Dienststeuerungs-Manager gestartet werden soll.

Bedarfsstart

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

Deaktiviert

Dienst, der nicht gestartet werden kann.

DesktopInteract [in]

Ein Wert, der bei True vom Dienst erstellt oder mit den Fenstern auf dem Desktop kommunizieren kann.

StartName [in]

Der Kontoname, unter dem der Dienst ausgeführt wird. Je nach Diensttyp kann der Kontoname in der Form "Domänenname\Benutzername" oder ".\Username" vorliegen. Wenn er ausgeführt wird, wird der Dienstprozess mit einem dieser beiden Formulare protokolliert. Wenn das Konto zur integrierten Domäne gehört, kann .\Username angegeben werden. Wenn eine leere Zeichenfolge angegeben wird, wird der Dienst als LocalSystem-Konto angemeldet. Bei Treibern auf Kernel- oder Systemebene enthält StartName den Treiberobjektnamen, z. B. \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, den das E/A-System basierend auf dem Dienstnamen erstellt, z. B. DWDOM\Admin.

Sie können auch das UpN-Format (User Principal Name) verwenden, um startName anzugeben, z. B. Username@DomainName.

StartPassword [in]

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

Hinweis

Wenn Sie einen Dienst von einem lokalen System in ein Netzwerk oder von einem Netzwerk in ein lokales System ändern, muss StartPassword eine leere Zeichenfolge ("") und nicht NULL sein.

LoadOrderGroup [in]

Der Gruppenname, dem er zugeordnet ist. Ladereihenfolgegruppen sind in der Systemregistrierung 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 Systemregistrierung enthält eine Liste von Ladereihenfolgegruppen unter:

HKEY_LOCAL_MACHINE\System\Currentcontrolset\Steuerung\ServiceGroupOrder

LoadOrderGroupDependencies [in]

Die Liste der Ladereihenfolgegruppen, die gestartet werden müssen, bevor dieser Dienst gestartet wird. Das Array ist doppelt NULL-endend. Wenn der Zeiger NULL ist oder auf eine leere Zeichenfolge zeigt, weist der Dienst keine Abhängigkeiten auf. Gruppennamen müssen mit dem SC_GROUP_IDENTIFIER (in der Datei WinSvc.h definiert) vorangestellt werden, um sie von 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.

Dienstabhängigkeiten [in]

Die Liste, die die Namen der Dienste enthält, die gestartet werden müssen, bevor dieser Dienst gestartet wird. Das Array ist doppelt NULL-endend. 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 den Wert null (0) zurück, wenn der Dienst erfolgreich geändert wurde, 1 (1), wenn die Anforderung nicht unterstützt wird, und eine andere Zahl, die auf einen Fehler hinweist.

Erfolg (0)

Nicht unterstützt (1)

Zugriff verweigert (2)

Abhängige Dienste, die ausgeführt werden (3)

Ungültiges Dienststeuerelement (4)

Der Dienst kann die Steuerung nicht akzeptieren (5)

Dienst nicht aktiv (6)

Service Request Timeout (7)

Unbekannter Fehler (8)

Pfad nicht gefunden (9)

Dienst wird bereits ausgeführt (10)

Dienstdatenbank gesperrt (11)

Dienstabhängigkeit gelöscht (12)

Dienstabhängigkeitsfehler (13)

Dienst deaktiviert (14)

Fehler bei der Dienstanmeldung (15)

Dienst, der zum Löschen markiert ist (16)

Dienst ohne Thread (17)

Statuskreisabhängigkeit (18)

Status Doppelter Name (19)

Status Ungültiger Name (20)

Status Ungültiger Parameter (21)

Status Ungültiges Dienstkonto (22)

Statusdienst vorhanden (23)

Dienst bereits angehalten (24)

Sonstige (25 4294967295)

Bemerkungen

Um einen Dienst von einem Netzwerkdienst in das lokale System zu ändern, verwenden Sie die folgenden Werte für die Parameter StartName und StartPassword :

StartName = "LocalSystem"
StartPassword = "" // - empty string, not NULL

Um einen Dienst von einem lokalen Systemdienst in einen Netzwerkdienst zu ändern, verwenden Sie die folgenden Werte für die Parameter StartName und StartPassword :

StartName = "NT AUTHORITY\NetworkService"
StartPassword = "" // - empty string, not NULL

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
WindowsServer 2008
Namespace
Root\CIMV2
Header
Mbnapi.h
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Siehe auch

Betriebssystemklassen

Win32_SystemDriver