_spawnvp, _wspawnvp
Erstellt einen Prozess und führt ihn aus.
Wichtig |
---|
Diese API kann nicht in den Anwendungen verwendet werden, die in Windows-Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /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 );
Parameter
mode
Ausführungsmodus zum Aufrufen des Prozesses.cmdname
Pfad der Datei ausgeführt werden.argv
Array von Zeigern auf den Argumenten.Das Argument argv[0] ist normalerweise ein Zeiger auf einen Pfad im Realmodus oder dem Programmnamen im geschützten Modus und argv[1] durch argv[n] sind Zeiger auf Zeichenfolgen, die die neue Argumentliste bilden.Das Argument argv[n +1] muss ein NULL Zeiger sein, um das Ende der Argumentliste zu markieren.
Rückgabewert
Der Rückgabewert von synchronen _spawnvp oder von _wspawnvp (_P_WAIT angegebenen für mode) ist der Endestatus des neuen Prozesses.Der Rückgabewert von asynchronen _spawnvp oder von _wspawnvp (_P_NOWAIT oder _P_NOWAITO angegebenen für mode) ist das Prozesshandle.Der Endestatus ist 0, wenn der Prozess ordnungsgemäß beendet wurde.Sie können den Endestatus auf einen Wert ungleich 0 fest, wenn der Prozess generierte ausdrücklich ein Argument ungleich 0 (null) verwendet, um exit Routine aufzurufen.Wenn der neue Prozess nicht explizit einen positiven Endestatus festgelegt hat, gibt ein positiver Endestatus eine nicht normaler Beendigung mit einem Abbruch oder einer Unterbrechung an.Ein Rückgabewert von - 1 gibt einen Fehler an (der neue Prozess wird nicht gestartet).In diesem Fall wird errno auf einen der folgenden Werte festgelegt:
E2BIG
Argumentliste 1024 Bytes überschreitet.EINVAL
mode-Argument ist ungültig.ENOENT
Datei oder Pfad wird nicht gefunden.ENOEXEC
Sofern Datei ist nicht ausführbar oder hat ungültiges Format der ausführbaren Datei.ENOMEM
Nicht genügend Arbeitsspeicher verfügbar ist, den neuen Prozess ausführen.
Weitere Informationen zu diesen und anderen Rückgabecodes, finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.
Hinweise
Jede dieser Funktionen erstellt einen neuen Prozess und führt ihn aus und führt ein Array von Zeigern auf den Befehlszeilenargumenten und verwendet die PATH Umgebungsvariable, um die Datei zu suchen, um.
Diese Funktionen überprüfen ihre Parameter.Wenn entweder cmdname oder argv ein NULL-Zeiger ist oder wenn argv zum NULL-Zeiger oder zu argv[0] zeigt, eine leere Zeichenfolge ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, dieses Funktionen festgelegte errno zu EINVAL und geben -1.Kein neuer Prozess wird erzeugt.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_spawnvp |
<stdio.h> oder <process.h> |
_wspawnvp |
<stdio.h> oder <wchar.h> |
So zusätzlicher Kompatibilitätsinformation finden Sie unter Kompatibilität.
Beispiel
Siehe das Beispiel in _spawn, _wspawn Funktionen.