Método Change de la clase Win32_SystemDriver

El método de clase ChangeWMI modifica un servicio de Win32_SystemDriver . El parámetro Win32_LoadOrderGroup representa una agrupación de servicios del sistema que definen las dependencias de ejecución. Los servicios deben iniciarse en el orden especificado por el grupo de pedidos de carga, ya que los servicios dependen entre sí. Estos servicios dependientes requieren la presencia de los servicios antecedentes para funcionar correctamente.

En este tema se usa la sintaxis de Managed Object Format (MOF). Para obtener más información sobre el uso de este método, vea Llamar a un método.

Sintaxis

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

Parámetros

DisplayName [in]

Nombre para mostrar del servicio. Esta cadena tiene una longitud máxima de 256 caracteres. El nombre se conserva entre mayúsculas y minúsculas en el administrador de control de servicios. Las comparaciones de DisplayName siempre no distinguen mayúsculas de minúsculas.

Restricciones: acepta el mismo valor que el parámetro Name .

Ejemplo: "Atdisk"

PathName [in]

Ruta de acceso completa al archivo ejecutable que implementa el servicio.

Ejemplo: \SystemRoot\System32\drivers\afd.sys

ServiceType [in]

Tipo de servicios proporcionados a los procesos que los llaman.

1 (0x1)

Controlador de kernel

2 (0x2)

Controlador del sistema de archivos

4 (0x4)

Adapter (Adaptador)

8 (0x8)

Controlador recognizer

16 (0x10)

Propio proceso

32 (0x20)

Compartir proceso

256 (0x100)

Proceso interactivo

ErrorControl [in]

Gravedad del error si este servicio no se inicia durante el inicio. El valor indica la acción realizada por el programa de inicio si se produce un error. El sistema registra todos los errores.

Omitir (0)

No se notifica al usuario.

Normal (1)

Normal. Se notifica al usuario.

Grave (2)

El sistema se reinicia con la última configuración correcta.

Crítico (3)

El sistema intenta reiniciarse con una configuración válida.

StartMode [in]

Modo de inicio del servicio base de Windows.

Inicio de arranque

Controlador de dispositivo iniciado por el cargador del sistema operativo.

Inicio de arranque

Controlador de dispositivo que se inicia el cargador del sistema operativo.

Inicio del sistema

Controlador de dispositivo iniciado por el proceso de inicialización del sistema operativo. Este valor solamente es válido para servicios de controladores.

Inicio automático

Servicio que el administrador de control de servicios inicia automáticamente durante el inicio del sistema.

Inicio de la demanda

Servicio que el administrador de control de servicios inicia cuando un proceso llama al método StartService .

Deshabilitado

Servicio que no se puede iniciar.

DesktopInteract [in]

Valor que, si es True, el servicio puede crear o comunicarse con las ventanas en el escritorio.

StartName [in]

El nombre de cuenta en el que se ejecuta el servicio. Dependiendo del tipo de servicio, el nombre de la cuenta puede tener el formato DomainName\Username o .\Username. Cuando se ejecuta, el proceso de servicio se registra con uno de estos dos formularios. Si la cuenta pertenece al dominio integrado, se puede especificar .\Username. Si se especifica una cadena vacía, el servicio se inicia sesión como la cuenta LocalSystem. En el caso de los controladores de nivel de sistema o kernel, StartName contiene el nombre del objeto de controlador, por ejemplo, \FileSystem\Rdr o \Driver\Xns), que el sistema de entrada y salida (E/S) usa para cargar el controlador del dispositivo. Si se especifica NULL, el controlador se ejecuta con un nombre de objeto predeterminado que el sistema de E/S crea en función del nombre del servicio, por ejemplo, DWDOM\Administración.

También puede usar el formato nombre principal de usuario (UPN) para especificar el nombre de inicio, por ejemplo, Username@DomainName.

StartPassword [in]

Contraseña para el nombre de la cuenta especificado por el parámetro StartName . Especifique NULL si no cambia la contraseña. Especifique una cadena vacía si el servicio no tiene contraseña.

Nota

Al cambiar un servicio de un sistema local a una red o de una red a un sistema local, StartPassword debe ser una cadena vacía ("") y no NULL.

LoadOrderGroup [in]

Nombre del grupo al que está asociado. Los grupos de pedidos de carga se encuentran en el registro del sistema y determinan la secuencia en la que los servicios se cargan en el sistema operativo. Si el puntero es NULL o si apunta a una cadena vacía, el servicio no pertenece a un grupo. Las dependencias entre grupos deben aparecer en el parámetro LoadOrderGroupDependencies . Los servicios de la lista de grupos de pedidos de carga se inician primero, seguidos de los servicios de los grupos que no están en la lista de grupos de pedidos de carga, seguidos de los servicios que no pertenecen a un grupo. El registro del sistema tiene una lista de grupos de ordenación de carga ubicados en:

HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Control\ServiceGroupOrder

LoadOrderGroupDependencies [in]

Lista de grupos de pedidos de carga que deben iniciarse antes de que se inicie este servicio. La matriz termina doblemente en null. Si el puntero es NULL o si apunta a una cadena vacía, el servicio no tiene dependencias. Los nombres de grupo deben tener el prefijo SC_GROUP_IDENTIFIER (definido en el archivo WinSvc.h) para diferenciarlos de los nombres de servicio, ya que los servicios y los grupos de servicios comparten el mismo espacio de nombres. La dependencia de un grupo significa que este servicio se puede ejecutar si al menos un miembro del grupo se está ejecutando después de un intento de iniciar todos los miembros del grupo.

ServiceDependencies [in]

Lista que contiene los nombres de los servicios que deben iniciarse antes de que se inicie este servicio. La matriz termina doblemente en null. Si el puntero es NULL o si apunta a una cadena vacía, el servicio no tiene dependencias. La dependencia de un servicio significa que este servicio solo se puede ejecutar si el servicio depende de está en ejecución.

Valor devuelto

Devuelve un valor de cero (0) si el servicio se modificó correctamente, 1 (uno) si no se admite la solicitud y cualquier otro número para indicar un error.

Correcto (0)

No compatible (1)

Acceso denegado (2)

Servicios dependientes en ejecución (3)

Control de servicio no válido (4)

El servicio no puede aceptar el control (5)

Servicio no activo (6)

Tiempo de espera de solicitud de servicio (7)

Error desconocido (8)

Ruta de acceso no encontrada (9)

Servicio ya en ejecución (10)

Base de datos de servicio bloqueada (11)

Dependencia de servicio eliminada (12)

Error de dependencia del servicio (13)

Servicio deshabilitado (14)

Error en el inicio de sesión del servicio (15)

Servicio marcado para eliminación (16)

Servicio sin subproceso (17)

Dependencia circular de estado (18)

Nombre duplicado de estado (19)

Estado Nombre no válido (20)

Parámetro no válido de estado (21)

Estado Cuenta de servicio no válida (22)

El servicio de estado existe (23)

Servicio ya en pausa (24)

Otros (25 4294967295)

Comentarios

Para cambiar un servicio de un servicio de red al sistema local, use los siguientes valores para los parámetros StartName e StartPassword :

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

Para cambiar un servicio de un servicio de sistema local a servicio de red, use los siguientes valores para los parámetros StartName e StartPassword :

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

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista
Servidor mínimo compatible
Windows Server 2008
Espacio de nombres
Root\CIMV2
Encabezado
Mbnapi.h
MOF
CIMWin32.mof
Archivo DLL
CIMWin32.dll

Consulte también

Clases de sistema operativo

Win32_SystemDriver