_spawnl
, _wspawnl
Erstellt einen neuen Prozess und führt ihn aus.
Wichtig
Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).
Syntax
intptr_t _spawnl(
int mode,
const char *cmdname,
const char *arg0,
const char *arg1,
... const char *argn,
NULL
);
intptr_t _wspawnl(
int mode,
const wchar_t *cmdname,
const wchar_t *arg0,
const wchar_t *arg1,
... const wchar_t *argn,
NULL
);
Parameter
mode
Ausführungsmodus für den aufrufenden Prozess.
cmdname
Pfad der auszuführenden Datei.
arg0
, ... arg1
argN
Liste von Zeigern zu Argumenten. Das arg0
-Argument ist normalerweise ein Zeiger auf cmdname
. Die Argumente arg1
bis argN
sind Zeiger auf Zeichenfolgen, die die Argumentliste neu bilden. Nach argN
muss ein NULL
-Zeiger stehen, mit dem das Ende der Argumentliste markiert wird.
Rückgabewert
Der Rückgabewert eines synchronen _spawnl
oder _wspawnl
(_P_WAIT
angegeben für mode
) ist der Beendigungsstatus des neuen Prozesses. Der Rückgabewert eines asynchronen _spawnl
oder _wspawnl
(_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 Beendigungsstatus auf einen Wert ungleich 0 einstellen, wenn der gestartete Prozess speziell die exit
-Routine mit einem Argument ungleich 0 aufruft. Wenn der neue Prozess keinen positiven Beendigungsstatus explizit festgelegt hat, gibt ein positiver Beendigungsstatus einen abnormen Ausgang mit einem Abbruch oder einem Interrupt 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.
Wert | Beschreibung |
---|---|
E2BIG |
Argumentliste umfasst mehr als 1024 Byte. |
EINVAL |
mode -Argument ist ungültig. |
ENOENT |
Datei oder Pfad wurde nicht gefunden. |
ENOEXEC |
Die angegebene Datei ist nicht ausführbar oder weist ein ungültiges Dateiformat für ausführbare Dateien auf. |
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 , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Diese Funktionen überprüfen ihre Parameter. Wenn es sich um cmdname
eine leere Zeichenfolge oder arg0
einen NULL-Zeiger handelt, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung 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.
Hinweise
Jede dieser Funktionen erstellt einen neuen Prozess und führt ihn aus. Jedes Befehlszeilenargument wird dabei als separater Parameter übergeben.
Anforderungen
Routine | Erforderlicher Header |
---|---|
_spawnl |
<process.h> |
_wspawnl |
<stdio.h> oder <wchar.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
Sehen Sie sich das Beispiel in _spawn
, _wspawn
Funktionen an.
Siehe auch
Prozess- und Umgebungskontrolle
_spawn
, _wspawn
Funktionen
abort
atexit
_exec
, _wexec
Funktionen
exit
, _Exit
_exit
_flushall
_getmbcp
_onexit
, _onexit_m
_setmbcp
system
, _wsystem