_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).
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
);
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.
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_errlist
e _sys_nerr
.
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 EINVAL
e restituiscono -1. Nessun nuovo processo viene generato.
Ciclo | Intestazione obbligatoria |
---|---|
_spawnlpe |
<process.h> |
_wspawnlpe |
<stdio.h> o <wchar.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Vedere l'esempio in _spawn
funzioni_wspawn
.
Processo e controllo dell'ambiente
_spawn
, _wspawn
funzioni
abort
atexit
_exec
, _wexec
funzioni
exit
, _Exit
, _exit
_flushall
_getmbcp
_onexit
, _onexit_m
_setmbcp
system
, _wsystem