_spawnvp, _wspawnvp

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Crea un proceso y lo ejecuta.

System_CAPS_ICON_important.jpg Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para más información, vea Funciones de CRT no admitidas con /ZW.

intptr_t _spawnvp(  
   int mode,  
   const char *cmdname,  
   const char *const *argv   
);  
intptr_t _wspawnvp(  
   int mode,  
   const wchar_t *cmdname,  
   const wchar_t *const *argv   
);  

Parámetros

mode
Modo de ejecución para llamar al proceso.

cmdname
Ruta de acceso del archivo que se va a ejecutar.

argv
Matriz de punteros a argumentos. El argumento argv[0] suele ser un puntero a una ruta de acceso en modo real o al nombre del programa en modo protegido; de argv[1] a argv[n] son punteros a las cadenas de caracteres que forman la nueva lista de argumentos. El argumento argv[n +1] debe ser un puntero NULL para marcar el final de la lista de argumentos.

El valor devuelto de un _spawnvp o _wspawnvp sincrónico (_P_WAIT especificado para mode) es el estado de salida del nuevo proceso. El valor devuelto de un _spawnvp o _wspawnvp 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 usa específicamente un argumento distinto de cero para llamar a la rutina exit . Si el nuevo proceso no estableció explícitamente un estado de salida positivo, un estado de salida positivo indica un resultado anormal con una 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 no tiene un formato de archivo ejecutable 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.

Cada una de estas funciones crea un proceso nuevo y lo ejecuta. Además, pasa una matriz de punteros a argumentos de la línea de comandos y usa la variable de entorno PATH para buscar el archivo que se va a ejecutar.

Estas funciones validan sus parámetros. Si cmdname o argv is a null pointer, o if argv points to null pointer, o argv[0] es una cadena vacía, se invoca el controlador de parámetro no válido, como se describe en Parameter Validation. Si la ejecución puede continuar, estas funciones establecen errno en EINVALy devuelven -1. No se genera ningún proceso nuevo.

RutinaEncabezado necesario
_spawnvp<stdio.h> o <process.h>
_wspawnvp<stdio.h> o <wchar.h>

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

Vea el ejemplo de Funciones _spawn y _wspawn.

Control de proceso y entorno
_spawn, _wspawn (funciones)
anular
atexit
_exec, _wexec (funciones)
salir, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
sistema, _wsystem

Mostrar: