Partager via


_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 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 _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 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 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 retournée

La valeur de retour d’une routine _spawnlpe ou _wspawnlpe asynchrone (_P_WAIT spécifié pour mode) est l’état de sortie du nouveau processus. La valeur de retour d'une routine _spawnlpe ou _wspawnlpe 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 attribuer à 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 exit . Si le nouveau processus n’a pas défini explicitement d’état de sortie positif, un état de sortie positif indique une sortie anormale causée par une 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.

Value 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_doserrnoet _sys_nerr.errno

Notes

Chacune de ces fonctions crée et exécute un nouveau processus, passe chaque argument de ligne de commande en tant que paramètre distinct et passe un tableau de pointeurs aux paramètres d’environnement. Ces fonctions utilisent la variable d'environnement PATH pour rechercher le fichier à exécuter.

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 EINVALet retournent -1. Aucun nouveau processus généré.

Spécifications

Routine En-tête requis
_spawnlpe <process.h>
_wspawnlpe <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, _wspawn fonctions
abort
atexit
_exec, _wexec fonctions
exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem