_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 avec /ZW.
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 des chaînes de caractères qui forment 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 de retour
La valeur de retour d'un _spawnle synchrones ou de _wspawnle (P_WAIT spécifié pour mode) est l'état de sortie du nouveau processus. La valeur de retour d'un _spawnle asynchrone ou de _wspawnle (_P_NOWAIT ou _P_NOWAITO spécifié pour mode) est le handle de 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 ne définissait pas explicitement un état de sortie positif, un état de sortie positif indique une sortie anormale avec arrêt ou interruption. Une valeur de retour égale à 1 indique une erreur (le nouveau processus n'est pas lancé). Dans ce cas, errno a l'une des valeurs suivantes.
E2BIG
La liste des arguments dépasse 1024 octets.EINVAL
Argument mode non valide.ENOENT
Fichier ou chemin d'accès 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 autres, consultez _doserrno, errno, _sys_errlist et _sys_nerr.
Notes
Chacune de ces fonctions crée et exécute un nouveau processus, en passant chaque argument de ligne de commande comme paramètre distinct et en passant également un tableau de pointeurs vers des paramètres d'environnement.
Ces fonctions valident leurs paramètres. Si cmdname ou arg0 est une chaîne vide ou un pointeur null, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. 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é.
Configuration requise
Routine |
En-tête requis |
---|---|
_spawnle |
<process.h> |
_wspawnle |
<stdio.h> ou <wchar.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité.
Exemple
Consultez l'exemple de Fonctions _spawn, _wspawn.