_spawnvp, _wspawnvp

 

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

Crée un processus et l'exécute.

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

Paramètres

mode
Mode d'exécution de l'appel du processus.

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 d'accès en mode réel ou un 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 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.

La valeur de retour d'une routine _spawnvp ou _wspawnvp synchrone (_P_WAIT spécifiée pour mode) est l'état de sortie du nouveau processus. La valeur de retour d'une routine _spawnvp ou _wspawnvp 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 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 d’autres, consultez errno, _doserrno, _sys_errlist et _sys_nerr.

Après avoir créé et exécuté un processus, chacune de ces fonctions passe un tableau de pointeurs à des arguments de ligne de commande et utilise la variable d'environnement PATH pour rechercher le fichier à exécuter.

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

RoutineEn-tête requis
_spawnvp<stdio.h> ou <process.h>
_wspawnvp<stdio.h> ou <wchar.h>

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

Consultez l’exemple dans _spawn, _wspawn, fonctions.

Contrôle de processus et d'environnement
_spawn, _wspawn, fonctions
abort
atexit
_exec, _wexec, fonctions
exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem

Afficher: