Condividi tramite


_spawnlpe, _wspawnlpe

Crea ed esegue un nuovo processo.

Importante

Questa API non può essere utilizzata nelle applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.

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 da arg1 a 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 di ambiente.

Valore restituito

Il valore restituito da un _spawnlpe sincrono 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) è un 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 una routine exit. Se il nuovo processo non ha impostato in modo esplicito uno stato di uscita positivo, uno stato di uscita positivo indica una uscita anomala causata da una chiusura forzata o una interruzione. Il valore restituito -1 indica un errore (il nuovo processo non è avviato). In questo caso, errno è impostato su uno dei valori indicati di seguito.

  • E2BIG
    L'elenco di argomenti supera i 1024 byte.

  • EINVAL
    L'argomento mode non è valido.

  • ENOENT
    Il file o il percorso non è stato trovato.

  • ENOEXEC
    Il file specificato non è eseguibile o ha un formato del file eseguibile non è valido.

  • ENOMEM
    Memoria insufficiente per eseguire il nuovo processo.

Per ulteriori informazioni su questi e altri codici restituiti, vedere errno, _doserrno, _sys_errlist, and _sys_nerr.

Note

Ognuna di queste funzioni crea ed esegue un nuovo processo, passa ogni argomento della riga di comando come parametro separato e passa un array di puntatori alle impostazioni di ambiente. Queste funzioni utilizzano la variabile di ambiente PATH per individuare il file da eseguire.

Queste funzioni convalidano i parametri. Se cmdname o arg0 è una stringa vuota o un puntatore null, il gestore di parametro non valido viene richiamato, 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.

Requisiti

Routine

Intestazione obbligatoria

_spawnlpe

<process.h>

_wspawnlpe

<stdio.h> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.

Esempio

Vedere l'esempio in Funzioni _spawn, _wspawn.

Equivalente .NET Framework

Vedere anche

Riferimenti

Controllo processo e ambiente

Funzioni _spawn, _wspawn

abort

atexit

Funzioni _exec, _wexec

exit, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

system, _wsystem