Condividi tramite


_spawnlpe, _wspawnlpe

Crea ed esegue un nuovo processo.

Importante

Non è possibile usare questa API nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).

Sintassi

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

Parametri

mode
Modalità di esecuzione del processo chiamante.

cmdname
Percorso del file da eseguire.

arg0, arg1, ... argN
Elenco dei puntatori agli argomenti. L'argomento arg0 è in genere un puntatore a cmdname. Gli argomenti arg1 tramite argN sono puntatori alle stringhe di caratteri che costituiscono il nuovo elenco di argomenti. Dopo argN, ci deve essere un puntatore NULL per contrassegnare la fine dell'elenco di argomenti.

envp
Matrice di puntatori alle impostazioni d'ambiente.

Valore restituito

Il valore restituito da un oggetto sincrono _spawnlpe o _wspawnlpe (_P_WAIT specificato per mode) è lo stato di uscita del nuovo processo. Il valore restituito da un _spawnlpe asincrono o _wspawnlpe (_P_NOWAIT o _P_NOWAITO specificato per mode) è l'handle del processo. Lo stato di uscita è 0 se il processo è terminato normalmente. È possibile impostare lo stato di uscita su un valore diverso da zero se il processo generato usa specificatamente un argomento diverso da zero per chiamare la routine exit . Se il nuovo processo non ha impostato in modo esplicito uno stato di uscita positivo, uno stato di uscita positivo indica un'uscita anomala causata da un'interruzione o da un interrupt. Un valore restituito -1 indica un errore (il nuovo processo non viene avviato). In questo caso, errno è impostato su uno dei valori indicati di seguito.

valore Descrizione
E2BIG L'elenco di argomenti supera i 1024 byte.
EINVAL L'argomentomode non è valido.
ENOENT File o percorso non trovato.
ENOEXEC Il file specificato non è eseguibile o ha un formato di file eseguibile non valido.
ENOMEM Memoria insufficiente per eseguire il nuovo processo.

Per altre informazioni su questi e altri codici restituiti, vedere errno, _doserrno, _sys_errliste _sys_nerr.

Osservazioni:

Ognuna di queste funzioni carica ed esegue un nuovo processo, passa ogni argomento della riga di comando come parametro separato e passa una matrice di puntatori alle impostazioni di ambiente. Per trovare il file da eseguire, queste funzioni usano la variabile di ambiente PATH.

Queste funzioni convalidano i relativi parametri. cmdname Se o arg0 è una stringa vuota o un puntatore Null, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, queste funzioni impostano errno su EINVALe restituiscono -1. Nessun nuovo processo viene generato.

Requisiti

Ciclo Intestazione obbligatoria
_spawnlpe <process.h>
_wspawnlpe <stdio.h> o <wchar.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

Vedere l'esempio in _spawnfunzioni_wspawn .

Vedi anche

Processo e controllo dell'ambiente
_spawn, _wspawn funzioni
abort
atexit
_exec, _wexec funzioni
exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem