_spawnvpe, _wspawnvpe
Crear y ejecutar un nuevo proceso.
Importante |
---|
Esta API no se puede utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows.Para obtener más información, vea Funciones CRT no compatibles con /ZW. |
intptr_t _spawnvpe(
int mode,
const char *cmdname,
const char *const *argv,
const char *const *envp
);
intptr_t _wspawnvpe(
int mode,
const wchar_t *cmdname,
const wchar_t *const *argv,
const wchar_t *const *envp
);
Parámetros
mode
Modo de ejecución para el proceso de llamadacmdname
Ruta de acceso del archivo que se ejecutaráargv
Matriz de punteros a argumentos.El argumento argv[0] suele ser un puntero a una ruta en modo real o el nombre del programa en modo protegido, y argv[1] con argv[n] es punteros a cadenas de caracteres que forman la nueva lista de argumentos.El argumento argv[n +1] debe ser un puntero de NULL para marcar el final de la lista de argumentos.envp
Matriz de punteros a la configuración de entorno
Valor devuelto
El valor devuelto de _spawnvpe sincrónico o de _wspawnvpe (_P_WAIT especificado para mode) es el estado del nuevo proceso.El valor devuelto de _spawnvpe asincrónico o de _wspawnvpe (_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 llama específicamente la rutina de exit con un argumento distinto de cero.Si el nuevo proceso no estableció un estado de salida positivo, un estado de salida positivo indica un resultado anormal con 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 siguientes valores:
E2BIG
La lista de argumentos supera los 1024 bytesEINVAL
el argumento de mode no es válidoENOENT
El archivo o la ruta no se encuentraENOEXEC
El archivo especificado no es ejecutable no tiene formato de archivo ejecutable no válidoENOMEM
Memoria insuficiente está disponible ejecutar nuevo proceso
Vea _doserrno, errno, _sys_errlist, y _sys_nerr para obtener más información al respecto, y otro, códigos de retorno.
Comentarios
Cada una de estas funciones crea y ejecuta un nuevo proceso, pasando una matriz de punteros a los argumentos de línea de comandos y 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 argv es un puntero NULL, o si los puntos de argv el puntero null, o argv[0] es una cadena vacía, 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 |
---|---|
_spawnvpe |
<stdio.h> o <process.h> |
_wspawnvpe |
<stdio.h> o <wchar.h> |
Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.
Ejemplo
Vea el ejemplo de _spawn, funciones de _wspawn.