_spawnlpe, _wspawnlpe
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 Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /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
);
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 des arguments.L'argument d' arg0 est généralement un pointeur vers cmdname.Les arguments arg1 via 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 d' NULL pour marquer la fin de la liste d'arguments.envp
Tableau de pointeurs vers des paramètres d'environnement.
Valeur de retour
La valeur de retour d' _spawnlpe synchrone ou d' _wspawnlpe (_P_WAIT spécifié pour mode) est l'état de sortie du nouveau processus.La valeur de retour d' _spawnlpe asynchrone ou d' _wspawnlpe (_P_NOWAIT ou _P_NOWAITO spécifié pour mode) est le handle de processus.L'état de sortie est 0 si le processus s'terminait normalement.Vous pouvez définir l'état de sortie à une valeur différente de zéro si le processus engendré utilise spécifiquement un argument différent de zéro pour appeler la routine d' exit .Si le nouveau processus ne plaçait pas explicitement un rapport de sortie positif, un rapport de sortie positif indique une sortie anormale provoquée par un arrêt ou une interruption.Une valeur de retour à 1 indique une erreur (le nouveau processus n'est pas lancé).Dans ce cas, errno a une des valeurs suivantes.
E2BIG
La liste d'arguments dépasse 1024 octets.EINVAL
l'argument d'mode est incorrect.ENOENT
Le fichier ou le chemin d'accès est introuvable.ENOEXEC
Le fichier spécifié n'est pas exécutable ou un format de fichier exécutable non valide.ENOMEM
Mémoire insuffisante est disponible pour exécuter le nouveau processus.
Pour plus d'informations sur ces derniers et d'autres codes de retour, consultez errno, _doserrno, _sys_errlist, et _sys_nerr.
Notes
Chacune de ces fonctions crée et exécute un nouveau processus, passe chaque argument de ligne de commande comme paramètre distinct, et passe un tableau de pointeurs vers les paramètres d'environnement.Ces fonctions utilisent la variable d'environnement d' PATH pour rechercher le fichier à exécuter.
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 des paramètres.Si est autorisé à l'exécution pour continuer, ces fonctions par errno définir le retour à EINVAL, et -1.Aucun nouveau processus n'a engendré.
Configuration requise
Routine |
En-tête requis |
---|---|
_spawnlpe |
<process.h> |
_wspawnlpe |
<stdio.h> ou <wchar.h> |
Pour plus d'informations de compatibilité, consultez Compatibilité.
Exemple
Consultez l'exemple dans _spawn, fonctions de _wspawn.