_spawnlpe, _wspawnlpe
Crea y ejecuta un nuevo proceso.
Importante |
---|
Esta API no se puede utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones CRT no compatibles con /ZW. |
intptr_t _spawnlpe(
int mode,
const char *cmdname,
const char *arg0,
const char *arg1,
... const char *argn,
NULL,
const char *const *envp
);
intptr_t _wspawnlpe(
int mode,
const wchar_t *cmdname,
const wchar_t *arg0,
const wchar_t *arg1,
... const wchar_t *argn,
NULL,
const wchar_t *const *envp
);
Parámetros
mode
Modo de ejecución para el proceso de llamada.cmdname
Ruta de acceso del archivo que se ejecutará.arg0, arg1, ... argn
Lista de punteros a argumentos.El argumento de arg0 es normalmente puntero a cmdname.Los argumentos arg1 con argn son punteros a cadenas de caracteres que forman la nueva lista de argumentos.Después de argn, debe haber puntero de NULL para marcar el final de la lista de argumentos.envp
Matriz de punteros a la configuración del entorno.
Valor devuelto
El valor devuelto de _spawnlpe sincrónico o de _wspawnlpe (_P_WAIT especificado para mode) es el estado del nuevo proceso.El valor devuelto de _spawnlpe asincrónico o de _wspawnlpe (_P_NOWAIT o _P_NOWAITO especificado para mode) es el identificador de proceso.El estado de salida es 0 si el proceso finalizó normalmente.Puede establecer el estado de salida en un valor distinto de cero si el proceso generado utiliza específicamente un argumento distinto para llamar a la rutina de exit.Si el nuevo proceso no estableció un estado de salida positivo, un estado de salida positivo indica un resultado anormal producida por un anulación o una interrupción.Un valor devuelto de – 1 indica un error (el nuevo proceso no se inicia).En este caso, errno se establece en uno de los valores siguientes.
E2BIG
La lista de argumentos supera los 1024 bytes.EINVAL
el argumento de mode no es válido.ENOENT
El archivo o la ruta no se encuentra.ENOEXEC
El archivo especificado no es ejecutable o tiene un formato de archivo ejecutable no válido.ENOMEM
Memoria insuficiente está disponible ejecutar el nuevo proceso.
Para obtener más información sobre éstos y otros códigos de retorno, vea errno, _doserrno, _sys_errlist, y _sys_nerr.
Comentarios
Cada una de estas funciones crea y ejecuta un nuevo proceso, pasa cada argumento de línea de comandos como parámetro independiente, y pasa una matriz de punteros a la configuración del entorno.Estas funciones utilizan la variable de entorno PATH para buscar el archivo para ejecutarse.
Estas funciones validan sus parámetros.Si cmdname o arg0 es una cadena vacía o puntero null, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, estas funciones errno establecido el volver a EINVAL, y -1.No se generar ningún nuevo proceso.
Requisitos
Rutina |
Encabezado necesario |
---|---|
_spawnlpe |
<process.h> |
_wspawnlpe |
<stdio.h> o <wchar.h> |
Para obtener más información de compatibilidad, vea Compatibilidad.
Ejemplo
Vea el ejemplo de _spawn, funciones de _wspawn.