_execve
, _wexecve
Lädt neue untergeordnete Prozesse und führt sie 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 _execve(
const char *cmdname,
const char *const *argv,
const char *const *envp
);
intptr_t _wexecve(
const wchar_t *cmdname,
const wchar_t *const *argv,
const wchar_t *const *envp
);
Parameter
cmdname
Pfad der auszuführenden Datei.
argv
Array von Zeigern zu Parametern.
envp
Array von Zeigern zu Umgebungseinstellungen.
Rückgabewert
Bei erfolgreicher Ausführung kehren diese Funktionen nicht zum aufrufenden Prozess zurück. Ein Rückgabewert von -1 gibt einen Fehler an, in diesem Fall wird die errno
globale Variable festgelegt.
Wert vom Typ errno |
Beschreibung |
---|---|
E2BIG |
Für die Argumente und die Umgebungseinstellungen werden mehr als 32 KB Speicherplatz benötigt. |
EACCES |
Für die angegebene Datei ist eine Sperr- oder Freigabeverletzung aufgetreten. |
EINVAL |
Ungültiger -Parameter. |
EMFILE |
Zu viele Dateien werden geöffnet (die angegebene Datei muss geöffnet werden, um zu bestimmen, ob sie ausführbar ist). |
ENOENT |
Die Datei oder der 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 |
Nicht genügend Arbeitsspeicher ist verfügbar, um den neuen Prozess auszuführen; Der verfügbare Arbeitsspeicher wurde beschädigt; oder es ist ein ungültiger Block vorhanden, der angibt, dass der aufrufende Prozess nicht ordnungsgemäß zugeordnet wurde. |
Weitere Informationen zu diesen und anderen Rückgabecodes finden Sie unter , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Hinweise
Jede dieser Funktionen lädt einen neuen Prozess, führt diesen aus und übergibt ein Array von Zeigern auf Befehlszeilenargumente und ein Array von Zeigern auf die Umgebungseinstellungen.
_execve
und _wexecve
überprüfen die eigenen Parameter. Diese Funktionen rufen den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben, wenn:
cmdname
ist ein Nullzeiger,argv
ist entweder ein Nullzeiger oder Zeiger auf ein leeres Array,- das Array enthält eine leere Zeichenfolge als erstes Argument.
Wenn die Ausführung vom Handler fortgesetzt werden darf, legen errno
diese Funktionen auf EINVAL
, und geben -1 zurück. Es wird kein Prozess gestartet.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Funktion | Erforderlicher Header | Optionaler Header |
---|---|---|
_execve |
<process.h> | <errno.h> |
_wexecve |
<process.h> oder <wchar.h> | <errno.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
Sehen Sie sich das Beispiel in _exec
, _wexec
Funktionen an.
Siehe auch
Prozess- und Umgebungskontrolle
_exec
, _wexec
Funktionen
abort
atexit
exit
, _Exit
_exit
_onexit
, _onexit_m
_spawn
, _wspawn
Funktionen
system
, _wsystem