_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 unter CRT-Funktionen nicht mit /ZW unterstützt.
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 Erfolg kehren diese Funktionen nicht zum aufrufenden Prozess zurück. Ein Rückgabewert von - 1 gibt an, dass ein Fehler vorliegt; dann wird die globale Variable errno festgelegt.
errno-Wert |
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 geöffnet (die angegebene Datei muss geöffnet werden, damit festgestellt werden kann, ob sie ausführbar ist). |
ENOENT |
Die Datei oder der Pfad wurde 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, um den neuen Prozess auszuführen; der verfügbare Arbeitsspeicher ist beschädigt; oder es ist ein ungültiger Block vorhanden, was darauf hinweist, dass der aufrufende Prozess nicht ordnungsgemäß zugeordnet wurde. |
Weitere Informationen zu diesen und anderen Rückgabecodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.
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. Wenn cmdname ein NULL-Zeiger ist oder wenn argv ein NULL-Zeiger oder ein Zeiger auf ein leeres Array ist oder wenn das Array als erstes Argument eine leere Zeichenfolge enthält, rufen diese Funktionen den Handler für ungültige Parameter auf, 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 Prozess gestartet.
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
Siehe das Beispiel in _exec-, _wexec-Funktionen.
.NET Framework-Entsprechung
Siehe auch
Referenz
Prozess- und Umgebungssteuerung