_spawnle
, _wspawnle
Crée et exécute un nouveau processus.
Important
Cette API ne peut pas être utilisée dans les applications qui s’exécutent dans le Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle.
Syntaxe
intptr_t _spawnle(
int mode,
const char *cmdname,
const char *arg0,
const char *arg1,
... const char *argn,
NULL,
const char *const *envp
);
intptr_t _wspawnle(
int mode,
const wchar_t *cmdname,
const wchar_t *arg0,
const wchar_t *arg1,
... const wchar_t *argn,
NULL,
const wchar_t *const *envp
);
Paramètres
mode
Mode d'exécution du processus appelant.
cmdname
Chemin d'accès du fichier à exécuter.
arg0
, ... arg1
argN
Liste des pointeurs vers les arguments. L’argument arg0
est généralement un pointeur vers cmdname
. Les arguments arg1
à argN
sont des pointeurs vers les chaînes de caractères formant la nouvelle liste d’arguments. Après argN
, il doit exister un pointeur NULL
pour marquer la fin de la liste des arguments.
envp
Tableau de pointeurs vers les paramètres d'environnement.
Valeur retournée
La valeur de retour d’une routine _spawnle
ou _wspawnle
asynchrone (_P_WAIT
spécifié pour mode
) est l’état de sortie du nouveau processus. La valeur de retour d'une routine _spawnle
ou _wspawnle
asynchrone (_P_NOWAIT
ou _P_NOWAITO
spécifié pour mode
) est le handle du processus. L'état de sortie est 0 si le processus s'est terminé normalement. Vous pouvez définir l'état de sortie à une valeur différente de zéro si le processus engendré appelle spécifiquement la routine exit
avec un argument différent de zéro. Si le nouveau processus n’a pas défini explicitement d’état de sortie positif, un état de sortie positif indique une sortie anormale avec un abandon ou une interruption. Une valeur de retour de -1 indique une erreur (le nouveau processus n’est pas démarré). Dans ce cas, errno
a l'une des valeurs suivantes.
Valeur | Description |
---|---|
E2BIG |
La liste des arguments dépasse 1024 octets. |
EINVAL |
Argumentmode non valide. |
ENOENT |
Le fichier ou le chemin d’accès est introuvable. |
ENOEXEC |
Le fichier spécifié n’est pas exécutable ou a un format de fichier exécutable non valide. |
ENOMEM |
Mémoire insuffisante pour exécuter le nouveau processus. |
Pour plus d’informations sur ces codes de retour et d’autres codes de retour, consultez , , _sys_errlist
_doserrno
et _sys_nerr
.errno
Notes
Chacune de ces fonctions crée et exécute un nouveau processus, passant chaque argument de ligne de commande en tant que paramètre distinct et passant également un tableau de pointeurs aux paramètres d’environnement.
Ces fonctions valident leurs paramètres. cmdname
S’il s’agit d’une arg0
chaîne vide ou d’un pointeur Null, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à se poursuivre, ces fonctions définissent errno
avec la valeur EINVAL
et retournent -1. Aucun nouveau processus généré.
Spécifications
Routine | En-tête requis |
---|---|
_spawnle |
<process.h> |
_wspawnle |
<stdio.h> ou <wchar.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
Consultez l’exemple dans _spawn
, _wspawn
fonctions.
Voir aussi
Processus et contrôle d’environnement
_spawn
, fonctions _wspawn
abort
atexit
_exec
, fonctions _wexec
exit
, , _Exit
_exit
_flushall
_getmbcp
_onexit
, _onexit_m
_setmbcp
system
, _wsystem