Crear método de la clase Win32_BaseService
El método createde clase WMI crea un nuevo servicio. El parámetro LoadOrderGroup representa una agrupación de servicios del sistema que definen las dependencias de ejecución. Los servicios se deben iniciar 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 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[]
);
Parámetros
-
Nombre [in]
-
Nombre del servicio que se va a instalar en el método Create . La longitud máxima de la cadena es de 256 caracteres. La base de datos del Administrador de control de servicios conserva las mayúsculas y minúsculas de los caracteres, pero las comparaciones de nombres de servicio siempre no distinguen mayúsculas de minúsculas. Las barras diagonales (/) y las barras diagonales inversas dobles (\) no son caracteres de nombre de servicio no válidos.
-
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 procesos que los llaman. El valor es un mapa de bits.
-
Controlador kernel (1)
-
Controlador del sistema de archivos (2)
-
Adaptador (4)
-
Controlador Recognizer (8)
-
Proceso propio (16)
-
Proceso de uso compartido (32)
-
256
-
Proceso interactivo
ErrorControl [in]
Gravedad del error si el método Create no se inicia. 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)
Se notifica al usuario.
Grave (2)
El sistema se reinicia con la última configuración válida conocida.
Crítico (3)
El sistema intenta empezar con una buena configuración.
StartMode [in]
Modo de inicio del servicio base de Windows.
Inicio de arranque ("Arranque")
Controlador de dispositivo iniciado por el cargador del sistema operativo. Este valor solamente es válido para servicios de controladores.
Inicio del sistema ("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 ("Automático")
Servicio que el administrador de control de servicios iniciará automáticamente durante el inicio del sistema.
Inicio de la demanda ("Manual")
Servicio que va a iniciar el administrador de control de servicios cuando un proceso llama al método StartService .
Deshabilitado ("Deshabilitado")
Servicio que ya no se puede iniciar.
DesktopInteract [in]
Si es true, el servicio puede crear o comunicarse con ventanas en el escritorio.
StartName [in]
Nombre de cuenta con el que se ejecuta el servicio. Según el tipo de servicio, el nombre de la cuenta puede estar en forma de "NombreDeDominio\NombreDeUsuario". El proceso de servicio se registra con uno de estos dos formularios cuando se ejecuta. Si la cuenta pertenece al dominio integrado, se puede especificar ".\Username". Si se especifica NULL , el servicio se inicia sesión como la cuenta LocalSystem. Para un kernel o controladores de nivel de sistema, StartName contiene el nombre del objeto de controlador (es decir, \FileSystem\Rdr o \Driver\Xns) que el sistema de entrada y salida (E/S) usa para cargar el controlador de dispositivo. Si se especifica NULL , el controlador se ejecuta con un nombre de objeto predeterminado creado por el sistema de E/S basado en el nombre del servicio. Ejemplo: DWDOM\Administración.
StartPassword [in]
Contraseña al nombre de 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.
LoadOrderGroup [in]
Nombre del grupo asociado al nuevo servicio. Los grupos de orden de carga se encuentran en el Registro y determinan la secuencia en la que se cargan los servicios 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 ordenación de carga se inician primero, seguidos de servicios en grupos que no están en la lista de grupos de ordenación de carga, seguidos de servicios que no pertenecen a un grupo. El registro tiene una lista de grupos de ordenación de carga ubicados en:
HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Control\ServiceGroupOrder
LoadOrderGroupDependencies [in]
Matriz de grupos de ordenación de carga que deben iniciarse antes de este servicio. Cada elemento de la matriz está delimitado por NULL y la lista finaliza con dos valores NULL . En Visual Basic o script, puede pasar un vbArray. 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 un nombre 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]
Matriz que contiene nombres de servicios que deben iniciarse antes de que se inicie este servicio. Cada elemento de la matriz está delimitado por NULL y la lista finaliza con dos valores NULL . En Visual Basic o script, puede pasar un vbArray. 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 del que depende está en ejecución.
Valor devuelto
Devuelve uno de los valores enumerados en la lista siguiente o cualquier otro valor para indicar un error.
-
Success
-
0
Se aceptó la solicitud.
-
No compatible
-
1
No se admite la solicitud.
-
Acceso denegado
-
2
El usuario no tenía el acceso necesario.
-
Servicios dependientes en ejecución
-
3
No se puede detener el servicio porque otros servicios que se están ejecutando dependen de él.
-
Control de servicio no válido
-
4
El código de control solicitado no es válido o no es aceptable para el servicio.
-
El servicio no puede aceptar el control
-
5
El código de control solicitado no se puede enviar al servicio porque el estado del servicio (Win32_BaseService. Propiedad State ) es igual a 0, 1 o 2.
-
Servicio no activo
-
6
El servicio no se ha iniciado.
-
Tiempo de espera de solicitud de servicio
-
7
El servicio no respondió a tiempo a la solicitud de inicio.
-
Error desconocido
-
8
Proceso interactivo.
-
Ruta de acceso no encontrada
-
9
No se encontró la ruta de acceso del directorio al archivo ejecutable del servicio.
-
Servicio que ya se está ejecutando
-
10
El servicio ya se está ejecutando.
-
Base de datos de servicio bloqueada
-
11
La base de datos para agregar un nuevo servicio está bloqueada.
-
Dependencia de servicio eliminada
-
12
Una dependencia en la que se basaba este servicio se ha quitado del sistema.
-
Error de dependencia del servicio
-
13
El servicio no pudo encontrar el servicio necesario de un servicio dependiente.
-
Servicio deshabilitado
-
14
El servicio se ha deshabilitado del sistema.
-
Error de inicio de sesión de servicio
-
15
El servicio no tiene la autenticación correcta para ejecutarse en el sistema.
-
Servicio marcado para eliminación
-
16
Este servicio se está quitando del sistema.
-
Servicio sin subproceso
-
17
No hay ningún subproceso de ejecución para el servicio.
-
Dependencia circular de estado
-
18
Hay dependencias circulares al iniciarse el servicio.
-
Nombre duplicado de estado
-
19
Hay un servicio que se ejecuta con el mismo nombre.
-
Estado Nombre no válido
-
20
Hay caracteres no válidos en el nombre del servicio.
-
Parámetro no válido de estado
-
21
Se han pasado parámetros no válidos al servicio.
-
Estado Cuenta de servicio no válida
-
22
La cuenta en la que se va a ejecutar este servicio no es válida o carece de los permisos para ejecutar el servicio.
-
El servicio de estado existe
-
23
El servicio existe en la base de datos de servicios disponibles del sistema.
-
El servicio ya está en pausa
-
24
El servicio se encuentra en pausa actualmente en el sistema.
-
Otros
-
25 4294967295
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Espacio de nombres |
Root\CIMV2 |
MOF |
|
Archivo DLL |
|