更改 Win32_SystemDriver 类的方法

ChangeWMI 类方法修改Win32_SystemDriver服务。 Win32_LoadOrderGroup 参数表示定义执行依赖项的系统服务的分组。 服务必须按照加载顺序组指定的顺序启动,因为服务相互依赖。 这些依赖服务需要存在前面的服务才能正常运行。

本主题使用托管对象格式 (MOF) 语法。 有关使用此方法的详细信息,请参阅 调用方法

语法

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[]
);

参数

DisplayName [in]

服务的显示名称。 此字符串的最大长度为 256 个字符。 名称在服务控制管理器中保留大小写。 DisplayName 比较始终不区分大小写。

约束:接受与 Name 参数相同的值。

示例:“Atdisk”

PathName [in]

实现服务的可执行文件的完全限定路径。

示例: \SystemRoot\System32\drivers\afd.sys

ServiceType [in]

提供给调用它们的进程的服务的类型。

1 (0x1)

内核驱动程序

2 (0x2)

文件系统驱动程序

4 (0x4)

适配器

8 (0x8)

识别器驱动程序

16 (0x10)

自己的进程

32 (0x20)

共享进程

256 (0x100)

交互式进程

ErrorControl [in]

如果此服务在启动期间无法启动,则错误的严重性。 该值指示启动程序在发生故障时采取的操作。 所有错误都由系统记录。

忽略 (0)

不通知用户。

正常 (1)

正常。 通知用户。

严重 (2)

系统使用最后一个良好配置重启。

关键 (3)

系统将尝试使用正确的配置重新启动。

StartMode [in]

Windows 基础服务的启动模式。

启动开始

操作系统加载程序启动的设备驱动程序。

启动开始

操作系统加载程序启动的设备驱动程序。

系统启动

由操作系统初始化过程启动的设备驱动程序。 此值只对驱动程序服务有效。

自动启动

服务控制管理器在系统启动期间自动启动的服务。

需求开始

当进程调用 StartService 方法时,由服务控制管理器启动的服务。

禁用

无法启动的服务。

DesktopInteract [in]

一个值,如果 为 True,则服务可以创建桌面上的窗口或与之通信。

StartName [in]

运行服务的帐户名称。 根据服务类型,帐户名称可能采用 DomainName\Username 或 .\Username 的形式。 运行时,将使用这两种形式之一记录服务进程。 如果帐户属于内置域,则可以指定 .\Username。 如果指定了空字符串,则服务将作为 LocalSystem 帐户登录。 对于内核或系统级驱动程序, StartName 包含驱动程序对象名称,例如 \FileSystem\Rdr 或 \Driver\Xns) ,输入输出 (I/O) 系统用来加载设备驱动程序。 如果指定 NULL,则驱动程序使用 I/O 系统基于服务名称创建的默认对象名称运行,例如 DWDOM\管理员。

还可以使用用户主体名称 (UPN) 格式指定 StartName,例如 ,Username@DomainName

StartPassword [in]

由 StartName 参数指定的帐户名的密码。 如果未更改密码,请指定 NULL 。 如果服务没有密码,请指定一个空字符串。

注意

将服务从本地系统更改为网络,或者从网络更改为本地系统时, StartPassword 必须是空字符串 (“”) ,而不是 NULL

LoadOrderGroup [in]

与之关联的组名称。 加载顺序组包含在系统注册表中,并确定服务加载到操作系统中的顺序。 如果指针为 NULL,或者它指向空字符串,则服务不属于组。 组之间的依赖关系应在 LoadOrderGroupDependencies 参数中列出。 首先启动负载排序组列表中的服务,然后启动不属于负载排序组列表中的组中的服务,然后启动不属于组的服务。 系统注册表的负载排序组列表位于:

\ HKEY_LOCAL_MACHINE系统\CurrentControlSet\控制\ServiceGroupOrder

LoadOrderGroupDependencies [in]

此服务启动之前必须启动的负载排序组的列表。 数组以 null 结尾为双倍。 如果指针为 NULL,或者如果指针指向空字符串,则服务没有依赖项。 组名称必须以 winSvc.h 文件中定义的 SC_GROUP_IDENTIFIER () 字符作为前缀,以便将其与服务名称区分开来,因为服务和服务组共享相同的命名空间。 对组的依赖意味着,如果至少一个组成员在尝试启动组的所有成员后正在运行,则此服务可以运行。

ServiceDependencies [in]

包含此服务启动之前必须启动的服务名称的列表。 数组以 null 结尾为双倍。 如果指针为 NULL,或者如果指针指向空字符串,则服务没有依赖项。 对服务的依赖意味着仅当它所依赖的服务正在运行时,此服务才能运行。

返回值

如果成功修改服务,则返回零 (0) 值;如果请求不受支持,则返回 1 (一个) 值,以及指示错误的任何其他数字。

成功 (0)

不支持 (1)

拒绝访问 (2)

运行 (3) 的依赖服务

服务控制 (4) 无效

服务无法接受控制 (5)

服务未处于活动状态 (6)

服务请求超时 (7)

未知故障 (8)

找不到路径 (9)

服务已运行 (10)

服务数据库锁定 (11)

已删除服务依赖项 (12)

服务依赖项失败 (13)

服务禁用 (14)

服务登录失败 (15)

标记为删除 的服务 (16)

服务无线程 (17)

状态循环依赖项 (18)

状态重复名称 (19)

状态名称无效 (20)

参数状态无效 (21)

状态服务帐户 (22) 无效

状态服务存在 (23)

服务已暂停 (24)

其他 (25 4294967295)

备注

若要将服务从网络服务更改为本地系统,请对 StartNameStartPassword 参数使用以下值:

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

若要将服务从本地系统服务更改为网络服务,请对 StartNameStartPassword 参数使用以下值:

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

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
命名空间
Root\CIMV2
标头
Mbnapi.h
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另请参阅

操作系统类

Win32_SystemDriver