_execl, _wexecl
Lädt und führt neue untergeordnete Prozesse aus.
Wichtig |
---|
Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW. |
intptr_t _execl( const char *cmdname, const char *arg0, ... const char *argn, NULL ); intptr_t _wexecl( const wchar_t *cmdname, const wchar_t *arg0, ... const wchar_t *argn, NULL );
Parameter
cmdname
Pfad der Datei ausgeführt werden.arg0, ...argn
Liste von Zeigern Parameter an.
Rückgabewert
Wenn erfolgreich, geben diese Funktionen nicht an den aufrufenden Prozess zurück.Ein Rückgabewert von - 1 gibt einen Fehler an, in diesem Fall die globale Variable errno festgelegt ist.
errno-Wert |
Beschreibung |
---|---|
E2BIG |
Der Speicherplatz, der für die Argumente und die Umgebungseinstellungen benötigt wird, als 32 KB. |
EACCES |
Die angegebene Datei ist eine Sperre oder eine Zugriffsverletzung. |
EINVAL |
Ungültiger Parameter (eine oder mehrere der Parameter waren ein NULL-Zeiger oder eine leere Zeichenfolge). |
EMFILE |
Zu viele Dateien geöffnet (die angegebene Datei muss geöffnet sein, um zu bestimmen, ob sie ausgeführt werden kann). |
ENOENT |
Die Datei oder wird der Pfad nicht gefunden. |
ENOEXEC |
Die angegebene Datei ist nicht ausführbar oder hat ein ungültiges Format der ausführbaren Datei. |
ENOMEM |
Nicht genügend Arbeitsspeicher verfügbar ist, den neuen Prozess auszuführen; der verfügbare Arbeitsspeicher ist beschädigt; oder ein ungültiger Block vorhanden und angibt, dass der aufrufende Prozess nicht ordnungsgemäß zugeordnet wurde. |
Hinweise
Jede dieser Funktionen lädt und führt einen neuen Prozess aus und übergibt jedes Befehlszeilenargument als separater Parameter.Das erste Argument ist der Befehls- oder Dateidateiname, und das zweite Argument muss mit dem ersten sein.Es wird argv[0] im laufenden Prozess.Das dritte Argument ist das erste Argument, argv[1], des Prozesses, der ausgeführt wird.
Die _execl-Funktionen überprüfen ihre Parameter.Wenn entweder cmdname oder arg0 ein NULL-Zeiger oder leere Zeichenfolge ist, rufen diese Funktionen den ungültigen Parameterhandler auf, wie in Parametervalidierung, wenn die Ausführung, um zulässig ist fortzufahren, in diesem Funktionen festgelegten errno zu EINVAL und in geben -1 beschrieben.Kein neuer Prozess wird ausgeführt.
Anforderungen
Funktion |
Erforderlicher Header |
Optionaler Header |
---|---|---|
_execl |
<process.h> |
<errno.h> |
_wexecl |
<process.h> oder <wchar.h> |
<errno.h> |
Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
Beispiel
Im Beispiel in _exec, _wexec Funktionen.