Crear método de la clase Win32_SystemDriver

El método createde clase WMI crea un nuevo servicio administrado por el controlador del sistema. El parámetro Win32_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 de Service Control Manager 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 service Control Manager. 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 el método Create no se inicia. Este valor indica la acción realizada por el programa de inicio si se produce un error. El sistema registra todos los errores.

0

"Omitir"

No se notifica al usuario.

1

"Normal"

Se notifica al usuario.

2

"Grave"

El sistema se reinicia con la última configuración válida conocida.

3

"Crítico"

El sistema intenta empezar con una buena configuración.

StartMode [in]

Modo de inicio del servicio base de Windows.

Arranque

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

Sistema

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

Automático

Servicio que el Administrador de control de servicios iniciará automáticamente durante el inicio del sistema.

Manual

Servicio que va a iniciar el Administrador de control de servicios cuando un proceso llama al método StartService .

Deshabilitado

Servicio que ya no se puede iniciar.

DesktopInteract [in]

Si es true, el servicio puede crear o comunicarse con las ventanas del 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 tener el formato DomainName\Username o User Principal Name (UPN) (Username@DomainName). 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 los nombres de los 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 un valor de 0 (cero) si el servicio se creó correctamente, 1 (uno) si no se admite la solicitud y cualquier otro número para indicar un error.

Requisitos

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

Consulte también

Clases de sistema operativo

Win32_SystemDriver