Change method of the Win32_SystemDriver class
The Change WMI class method modifies a Win32_SystemDriver service. The Win32_LoadOrderGroup parameter represents a grouping of system services defining execution dependencies. The services must be initiated in the order specified by the Load Order Group as the services are dependent on each other. These dependent services require the presence of the antecedent services to function correctly.
This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.
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[]
);
Parameters
-
DisplayName [in]
-
The display name of the service. This string has a maximum length of 256 characters. The name is case-preserved in the service control manager. DisplayName comparisons are always case-insensitive.
Constraints: Accepts the same value as the Name parameter.
Example: "Atdisk"
-
PathName [in]
-
The fully qualified path to the executable file that implements the service.
Example: \SystemRoot\System32\drivers\afd.sys
-
ServiceType [in]
-
Type of services provided to the processes that call them.
-
1 (0x1)
-
Kernel Driver
-
2 (0x2)
-
File System Driver
-
4 (0x4)
-
Adapter
-
8 (0x8)
-
Recognizer Driver
-
16 (0x10)
-
Own Process
-
32 (0x20)
-
Share Process
-
256 (0x100)
-
Interactive Process
ErrorControl [in]
The severity of the error if this service fails to start during startup. The value indicates the action taken by the startup program if failure occurs. All errors are logged by the system.
Ignore (0)
User is not notified.
Normal (1)
Normal. User is notified.
Severe (2)
System is restarted with the last good configuration.
Critical (3)
System attempts to restart with a good configuration.
StartMode [in]
The start mode of the Windows base service.
Boot Start
Device driver started by the operating system loader.
Boot Start
Device driver that the operating system loader starts.
System Start
Device driver started by the operating system initialization process. This value is valid only for driver services.
Auto Start
Service to start automatically by the service control manager during system startup.
Demand Start
Service to start by the service control manager when a process calls the StartService method.
Disabled
Service that cannot be started.
DesktopInteract [in]
A value that, if True, the service can create or communicate with the windows on the desktop.
StartName [in]
The account name the service runs under. Depending on the service type, the account name may be in the form of DomainName\Username or .\Username. When it runs, the service process is logged using one of these two forms. If the account belongs to the built-in domain, .\Username can be specified. If an empty string is specified, the service is logged on as the LocalSystem account. For kernel or system-level drivers, StartName contains the driver object name, for example, \FileSystem\Rdr or \Driver\Xns), which the input and output (I/O) system uses to load the device driver. If NULL is specified, the driver runs with a default object name that the I/O system creates based on the service name, for example, DWDOM\Admin.
You also can use the User Principal Name (UPN) format to specify the StartName, for example, Username@DomainName.
StartPassword [in]
The password to the account name specified by the StartName parameter. Specify NULL if you are not changing the password. Specify an empty string if the service has no password.
Note
When changing a service from a local system to a network, or from a network to a local system, StartPassword must be an empty string ("") and not NULL.
LoadOrderGroup [in]
The group name that it is associated with. Load order groups are contained in the system registry, and determine the sequence in which services are loaded into the operating system. If the pointer is NULL, or if it points to an empty string, the service does not belong to a group. Dependencies between groups should be listed in the LoadOrderGroupDependencies parameter. Services in the load-ordering group list are started first, followed by services in groups not in the load-ordering group list, followed by services that do not belong to a group. The system registry has a list of load ordering groups located at:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
LoadOrderGroupDependencies [in]
The list of load-ordering groups that must start before this service starts. The array is doubly null-terminated. If the pointer is NULL, or if it points to an empty string, the service has no dependencies. Group names must be prefixed by the SC_GROUP_IDENTIFIER (defined in the WinSvc.h file) character to differentiate them from service names, because services and service groups share the same namespace. Dependency on a group means that this service can run if at least one member of the group is running after an attempt to start all of the members of the group.
ServiceDependencies [in]
The list that contains the names of the services that must start before this service starts. The array is doubly null-terminated. If the pointer is NULL, or if it points to an empty string, the service has no dependencies. Dependency on a service means that this service can run only if the service it depends on is running.
Return value
Returns a value of zero (0) if the service was successfully modified, 1 (one) if the request is not supported, and any other number to indicate an error.
-
Success (0)
-
Not Supported (1)
-
Access Denied (2)
-
Dependent Services Running (3)
-
Invalid Service Control (4)
-
Service Cannot Accept Control (5)
-
Service Not Active (6)
-
Service Request Timeout (7)
-
Unknown Failure (8)
-
Path Not Found (9)
-
Service Already Running (10)
-
Service Database Locked (11)
-
Service Dependency Deleted (12)
-
Service Dependency Failure (13)
-
Service Disabled (14)
-
Service Logon Failed (15)
-
Service Marked For Deletion (16)
-
Service No Thread (17)
-
Status Circular Dependency (18)
-
Status Duplicate Name (19)
-
Status Invalid Name (20)
-
Status Invalid Parameter (21)
-
Status Invalid Service Account (22)
-
Status Service Exists (23)
-
Service Already Paused (24)
-
Other (25 4294967295)
Remarks
To change a service from a network service to the local system, use the following values for the StartName and StartPassword parameters:
StartName = "LocalSystem"
StartPassword = "" // - empty string, not NULL
To change a service from a local system service to network service, use the following values for the StartName and StartPassword parameters:
StartName = "NT AUTHORITY\NetworkService"
StartPassword = "" // - empty string, not NULL
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Namespace |
Root\CIMV2 |
Header |
|
MOF |
|
DLL |
|