Partager via


_spawnve, _wspawnve

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 _spawnve(
   int mode,
   const char *cmdname,
   const char *const *argv,
   const char *const *envp 
);
intptr_t _wspawnve(
   int mode,
   const wchar_t *cmdname,
   const wchar_t *const *argv,
   const wchar_t *const *envp 
);

Paramètres

  • mode
    Mode d'exécution d'un processus appelant.

  • cmdname
    Chemin d'accès du fichier à exécuter.

  • argv
    Tableau de pointeurs vers les arguments. L'argument argv[0] est généralement un pointeur vers un chemin d'accès en mode réel ou le nom du programme en mode protégé, et argv[1] à argv[n] sont des pointeurs vers les chaînes de caractères qui forment la nouvelle liste d'arguments. L'argument argv[n +1] doit être un pointeur NULL pour marquer la fin de la liste d'arguments.

  • envp
    Tableau de pointeurs vers les paramètres d'environnement.

Valeur de retour

La valeur de retour de _spawnve synchrones ou d'_wspawnve (_P_WAIT spécifié pour mode) est l'état de sortie du nouveau processus. La valeur de retour d'un _spawnve asynchrone ou de _wspawnve (_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 un tableau de pointeurs vers des arguments de ligne de commande et un tableau de pointeurs vers les paramètres d'environnement.

Ces fonctions valident leurs paramètres. Si cmdname ou argv est un pointeur null, ou si argv pointe vers le pointeur null, ou argv[0] est une chaîne vide, le gestionnaire de paramètre invalide 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

_spawnve

<stdio.h> ou <process.h>

_wspawnve

<stdio.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

Exemple

Consultez l'exemple de Fonctions _spawn, _wspawn.

Équivalent .NET Framework

Voir aussi

Référence

Contrôle de processus et d'environnement

_spawn, _wspawn, fonctions

abort

atexit

_exec, _wexec, fonctions

exit, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

system, _wsystem