_spawnvp, _wspawnvp
Erstellt einen Prozess und führt ihn aus.
Wichtig
Diese API kann nicht in Anwendungen verwendet werden, die im Windows-Runtime ausgeführt werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.
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 auszuführenden Datei.argv
Array von Zeigern zu Argumenten. Das Argument argv[0] ist gewöhnlich ein Zeiger auf einen Pfad im Realmodus oder dem Programmnamen im geschützten Modus und argv[1] durch argv[n] Zeiger sind in Zeichenfolgen, die die Argumentliste neue bilden. Das Argument argv[n +1] muss ein NULL-Zeiger sein, um das Ende der Argumentliste zu markieren.
Rückgabewert
Der Rückgabewert eines synchronen _spawnvp oder _wspawnvp (_P_WAIT angegeben für mode) ist der Beendigungsstatus des neuen Prozesses. Der Rückgabewert eines asynchronen _spawnvp oder _wspawnvp (_P_NOWAIT oder _P_NOWAITO angegeben für mode) ist das Prozesshandle. Der Beendigungsstatus ist 0, wenn der Prozess ordnungsgemäß beendet wurde. Sie können den Endestatus auf einen Wert ungleich 0 (null) festlegen, wenn der Prozess generierte ausdrücklich ein Argument ungleich 0 (null) verwendet, um exit aufzurufen Routine. Wenn der neue Prozess nicht explizit einen positiven Beendigungsstatus eingestellt hat, weist ein positiver Beendigungsstatus auf eine abnormale Beendigung mit einem Abbruch oder einer Unterbrechung hin. Ein Rückgabewert von - 1 gibt an, dass ein Fehler vorliegt (der neue Prozess wird nicht gestartet). In diesem Fall wird errno auf einen der folgenden Werte festgelegt:
E2BIG
Argumentliste umfasst mehr als 1024 Byte.EINVAL
mode-Argument ist ungültig.ENOENT
Datei oder Pfad nicht gefunden.ENOEXEC
Die angegebene Datei ist nicht ausführbar oder hat ein ungültiges Format für eine ausführbare Datei.ENOMEM
Es ist nicht genügend Arbeitsspeicher verfügbar, um den neuen Prozess auszufü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 übergibt ein Array von Zeigern auf die Befehlszeilenargumente und verwendet die PATH - Umgebungsvariable, um die Datei zu suchen, die Ausführung.
Diese Funktionen überprüfen ihre Parameter. Wenn cmdname oder argv ein NULL-Zeiger ist oder wenn argv auf einen NULL-Zeiger zeigt oder wenn argv[0] eine leere Zeichenfolge ist, wird der Handler für ungültige Parameter aufgerufen, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, stellen diese Funktionen errno auf EINVAL ein und geben – 1 zurück. Es wird kein neuer Prozess erzeugt.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_spawnvp |
<stdio.h> oder <process.h> |
_wspawnvp |
<stdio.h> oder <wchar.h> |
Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
Siehe das Beispiel in _spawn- und _wspawn-Funktionen.
.NET Framework-Entsprechung
Siehe auch
Referenz
Prozess- und Umgebungssteuerung