_spawnvpe, _wspawnvpe

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Crée et exécute un nouveau processus.

System_CAPS_ICON_important.jpg 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 _spawnvpe(  
   int mode,  
   const char *cmdname,  
   const char *const *argv,  
   const char *const *envp   
);  
intptr_t _wspawnvpe(  
   int mode,  
   const wchar_t *cmdname,  
   const wchar_t *const *argv,  
   const wchar_t *const *envp   
);  

Paramètres

mode
Mode d’exécution des processus d’appel

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 qui désigne un chemin en mode réel ou le nom de programme en mode protégé, tandis que argv[1] à argv[n] sont des pointeurs qui pointent vers les chaînes de caractères formant 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

La valeur de retour d'une routine _spawnvpe ou _wspawnvpe synchrone (_P_WAIT spécifié pour mode) est l'état de sortie du nouveau processus. La valeur de retour d'une routine _spawnvpe ou _wspawnvpe 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 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
Liste des arguments dépasse 1024 octets

EINVAL
modeargument non valide

ENOENT
Fichier ou chemin d’accès est introuvable

ENOEXEC
Fichier spécifié n’est pas exécutable ou a le format de fichier exécutable non valide

ENOMEM
Mémoire est insuffisante pour exécuter le nouveau processus

Consultez la page _doserrno, errno, _sys_errlist et _sys_nerr pour plus d’informations sur les autres codes de retour.

Chacune de ces fonctions crée et exécute un nouveau processus, en passant un tableau de pointeurs vers les arguments de ligne de commande et un tableau de pointeurs vers les paramètres d’environnement. Ces fonctions utilisent la variable d'environnement PATH pour rechercher le fichier à exécuter.

Ces fonctions valident leurs paramètres. Si le paramètre cmdname ou argv est un pointeur null, ou si argv pointe vers un pointeur null, ou argv[0] est une chaîne vide, 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 EINVALet retournent -1. Aucun nouveau processus généré.

RoutineEn-tête requis
_spawnvpe<stdio.h> ou <process.h>
_wspawnvpe<stdio.h> ou <wchar.h>

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

Consultez l'exemple de Fonctions _spawn, _wspawn.

abandonner
atexit
_exec, _wexec, fonctions
Exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
_wsystem système

Afficher: