_spawnvp, _wspawnvp

 

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

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 celles-ci et d’autres codes de retour, voir 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 is a null pointer, ou if argv points to null pointer, ou argv[0] est une chaîne vide, le gestionnaire de paramètres non valides est appelé, comme décrit dans Parameter Validation. 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
_spawnvp<stdio.h> ou <process.h>
_wspawnvp<stdio.h> ou <wchar.h>

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

Consultez l'exemple de Fonctions _spawn, _wspawn.

Processus de contrôle et d’environnement
_spawn, _wspawn, fonctions
abandonner
atexit
_exec, _wexec, fonctions
Exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
_wsystem système

Afficher: