_spawnvp
, _wspawnvp
Crea un processo e lo esegue.
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 _spawnvp(
int mode,
const char *cmdname,
const char *const *argv
);
intptr_t _wspawnvp(
int mode,
const wchar_t *cmdname,
const wchar_t *const *argv
);
Parametri
mode
Modalità di esecuzione per la chiamata al processo.
cmdname
Percorso del file da eseguire.
argv
Matrice di puntatori agli argomenti. 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 formano il nuovo elenco di argomenti. L'argomento argv[n+1]
deve essere un NULL
puntatore per contrassegnare la fine dell'elenco di argomenti.
Valore restituito
Il valore restituito da un oggetto sincrono _spawnvp
o _wspawnvp
(_P_WAIT
specificato per mode
) è lo stato di uscita del nuovo processo. Il valore restituito da un _spawnvp
asincrono o _wspawnvp
(_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 con un'interruzione o 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 sui codici restituiti, vedere errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Osservazioni:
Ognuna di queste funzioni crea ed esegue un nuovo processo e passa una matrice di puntatori agli argomenti della riga di comando e usa la variabile di ambiente PATH
per individuare il file da eseguire.
Queste funzioni convalidano i relativi parametri. cmdname
Se o argv
è un puntatore Null o se argv
punta a un puntatore Null o argv[0]
è una stringa vuota, 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.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_spawnvp |
<stdio.h> o <process.h> |
_wspawnvp |
<stdio.h> o <wchar.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
Vedere l'esempio in _spawn
funzioni_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