_spawnlpe, _wspawnlpe

Crea y ejecuta un nuevo proceso.

Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones de CRT no admitidas 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 va a 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 un puntero 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 un _spawnlpe o _wspawnlpe sincrónico (_P_WAIT especificado para mode) es el estado de salida del nuevo proceso. El valor devuelto de un _spawnlpe o _wspawnlpe asincrónico (_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 ha iniciado). En este caso, errno se establece en uno de los valores siguientes.

  • E2BIG
    La lista de argumentos supera los 1024 bytes.

  • EINVAL
    El argumento mode no es válido.

  • ENOENT
    El archivo o la ruta de acceso no se encuentra.

  • ENOEXEC
    El archivo especificado no es ejecutable o tiene un formato de archivo ejecutable no válido.

  • ENOMEM
    Memoria insuficiente para ejecutar el nuevo proceso.

Para obtener más información sobre estos 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 usan la variable de entorno PATH para buscar el archivo que se va a ejecutar.

Estas funciones validan sus parámetros. Si cmdname o arg0 es una cadena vacía o un puntero nulo, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones establecen errno en EINVAL y devuelven -1. No se genera ningún proceso nuevo.

Requisitos

Rutina

Encabezado necesario

_spawnlpe

<process.h>

_wspawnlpe

<stdio.h> o <wchar.h>

Para obtener más información de compatibilidad, vea Compatibilidad.

Ejemplo

Consulte el ejemplo de _spawn, _wspawn (Funciones).

Equivalente en .NET Framework

Vea también

Referencia

Control de proceso y de entorno

_spawn, _wspawn (Funciones)

abort

atexit

_exec, _wexec (Funciones)

exit, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

system, _wsystem