_spawnvpe, _wspawnvpe_spawnvpe, _wspawnvpe

Crea ed esegue un nuovo processo.Creates and executes a new process.

Importante

Non è possibile usare questa API nelle applicazioni eseguite in Windows Runtime.This API cannot be used in applications that execute in the Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).For more information, see CRT functions not supported in Universal Windows Platform apps.

SintassiSyntax

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
);

ParametriParameters

modemode
Modalità di esecuzione per il processo chiamante.Execution mode for calling process

CmdNamecmdname
Percorso del file da eseguire.Path of file to be executed

argvargv
Matrice di puntatori agli argomenti.Array of pointers to arguments. L'argomento argv[0] è in genere un puntatore a un percorso in modalità reale o al nome del programma in modalità protetta, e argv[1] tramite argv[n] sono puntatori alle stringhe di caratteri che costituiscono il nuovo elenco di argomenti.The argument argv[0] is usually a pointer to a path in real mode or to the program name in protected mode, and argv[1] through argv[n] are pointers to the character strings forming the new argument list. L'argomento argv[n + 1] deve essere un NULL puntatore per contrassegnare la fine dell'elenco di argomenti.The argument argv[n +1] must be a NULL pointer to mark the end of the argument list.

envpenvp
Matrice di puntatori alle impostazioni d'ambiente.Array of pointers to environment settings

Valore restituitoReturn Value

Il valore restituito da un oggetto sincrono spawnvpe oppure wspawnvpe (P_WAIT specificata per modalità) è lo stato di uscita del nuovo processo.The return value from a synchronous _spawnvpe or _wspawnvpe (_P_WAIT specified for mode) is the exit status of the new process. Il valore restituito da asincrono spawnvpe oppure wspawnvpe (P_NOWAIT oppure P_NOWAITO specificato per modalità) è l'handle del processo.The return value from an asynchronous _spawnvpe or _wspawnvpe (_P_NOWAIT or _P_NOWAITO specified for mode) is the process handle. Lo stato di uscita è 0 se il processo è terminato normalmente.The exit status is 0 if the process terminated normally. È possibile impostare lo stato di uscita su un valore diverso da zero se il processo generato chiama specificatamente la uscire routine con un argomento diverso da zero.You can set the exit status to a nonzero value if the spawned process specifically calls the exit routine with a nonzero argument. Se il nuovo processo non ha impostato in modo esplicito uno stato di uscita positivo, uno stato di uscita positivo indica l'uscita anomala con interruzione.If the new process did not explicitly set a positive exit status, a positive exit status indicates an abnormal exit with an abort or an interrupt. Valore restituito di -1 indica un errore (non viene avviato il nuovo processo).A return value of -1 indicates an error (the new process is not started). In questo caso errno è impostato su uno dei valori seguenti:In this case, errno is set to one of the following values:

E2BIGE2BIG L'elenco di argomenti supera i 1024 byte.Argument list exceeds 1024 bytes.
EINVALEINVAL modalità argomento non è valido.mode argument is invalid.
ENOENTENOENT Il file o il percorso non è stato trovato.File or path is not found.
ENOEXECENOEXEC Il file specificato non è eseguibile o il formato del file eseguibile non è valido.Specified file is not executable or has invalid executable-file format.
ENOMEMENOMEM Memoria insufficiente per eseguire il nuovo processo.Not enough memory is available to execute the new process.

Per altre informazioni su questi e altri codici restituiti, vedere _doserrno, errno, _sys_errlist e _sys_nerr.See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, return codes.

NoteRemarks

Ognuna di queste funzioni crea ed esegue un nuovo processo, passando una matrice di puntatori agli argomenti della riga di comando e una matrice di puntatori alle impostazioni di ambiente.Each of these functions creates and executes a new process, passing an array of pointers to command-line arguments and an array of pointers to environment settings. Queste funzioni usano la percorso variabile di ambiente per individuare il file da eseguire.These functions use the PATH environment variable to find the file to execute.

Queste funzioni convalidano i relativi parametri.These functions validate their parameters. Se uno dei due cmdname oppure argv è un puntatore null, o se argv punta a un puntatore null oppure argv[0] è una stringa vuota, non valido viene richiamato il gestore di parametro, come descritto in convalida dei parametri .If either cmdname or argv is a null pointer, or if argv points to null pointer, or argv[0] is an empty string, the invalid parameter handler is invoked, as described in Parameter Validation . Se l'esecuzione può continuare, queste funzioni impostano errno al EINVALe restituiscono -1.If execution is allowed to continue, these functions set errno to EINVAL, and return -1. Nessun nuovo processo viene generato.No new process is spawned.

RequisitiRequirements

RoutineRoutine Intestazione obbligatoriaRequired header
_spawnvpe_spawnvpe <stdio.h> o <process.h><stdio.h> or <process.h>
_wspawnvpe_wspawnvpe <stdio.h> o <wchar.h><stdio.h> or <wchar.h>

Per altre informazioni sulla compatibilità, vedere Compatibilità.For additional compatibility information, see Compatibility.

EsempioExample

Vedere l'esempio in Funzioni _spawn, _wspawn.See the example in _spawn, _wspawn Functions.

Vedere ancheSee also

abortabort
atexitatexit
Funzioni _exec, _wexec_exec, _wexec Functions
exit, _Exit, _exitexit, _Exit, _exit
_flushall_flushall
_getmbcp_getmbcp
_onexit, _onexit_m_onexit, _onexit_m
_setmbcp_setmbcp
system, _wsystemsystem, _wsystem