Freigeben über


_spawnlpe, _wspawnlpe

Erstellt und führt einen neuen Prozess aus.

Wichtiger HinweisWichtig

Diese API kann nicht in den Anwendungen verwendet werden, die in Windows-Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW.

intptr_t _spawnlpe( int mode, const char *cmdname, const char *arg0, const char *arg1, ... const char *argn, NULL, const char *const *envp ); intptr_t _wspawnlpe( int mode, const wchar_t *cmdname, const wchar_t *arg0, const wchar_t *arg1, ... const wchar_t *argn, NULL, const wchar_t *const *envp );

Parameter

  • mode
    Ausführungsmodus für den aufrufenden Prozess.

  • cmdname
    Pfad der Datei ausgeführt werden.

  • arg0, arg1, ... argn
    Liste von Zeigern für Argumente.Das arg0-Argument ist in der Regel ein Zeiger auf cmdname.Die Argumente arg1 durch argn sind Zeiger auf Zeichenfolgen, die die neue Argumentliste bilden.Nach argn muss ein NULL Zeiger geben, um das Ende der Argumentliste zu markieren.

  • envp
    Array von Zeigern auf den Umgebungseinstellungen.

Rückgabewert

Der Rückgabewert von synchronen _spawnlpe oder von _wspawnlpe (_P_WAIT angegebenen für mode) ist der Endestatus des neuen Prozesses.Der Rückgabewert von asynchronen _spawnlpe oder von _wspawnlpe (_P_NOWAIT oder _P_NOWAITO angegebenen für mode) ist das Prozesshandle.Der Endestatus ist 0, wenn der Prozess ordnungsgemäß beendet wurde.Sie können den Endestatus auf einen Wert ungleich 0 fest, wenn der Prozess generierte ausdrücklich ein Argument ungleich 0 (null) verwendet, um exit Routine aufzurufen.Wenn der neue Prozess nicht explizit einen positiven Endestatus festgelegt hat, gibt ein positiver Endestatus eine nicht normaler Beendigung an, die von einem Abbruch oder Interrupts verursacht wird.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.

  • E2BIG
    Argumentliste 1024 Bytes überschreitet.

  • EINVAL
    mode-Argument ist ungültig.

  • ENOENT
    Datei oder Pfad wird nicht gefunden.

  • ENOEXEC
    Sofern 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 ausführen.

Weitere Informationen zu diesen und anderen Rückgabecodes, finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.

Hinweise

Jede dieser Funktionen erstellt und führt einen neuen Prozess aus, führt jedes Befehlszeilenargument als separater Parameter und führt ein Array von Zeigern auf den Umgebungseinstellungen.Diese Funktionen verwenden die PATH Umgebungsvariable, um die Datei zu suchen, um.

Diese Funktionen überprüfen ihre Parameter.Wenn entweder cmdnamearg0 oder eine leere Zeichenfolge oder ein NULL-Zeiger ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, dieses Funktionen festgelegte errno zu EINVAL und geben -1.Kein neuer Prozess wird erzeugt.

Anforderungen

Routine

Erforderlicher Header

_spawnlpe

<process.h>

_wspawnlpe

<stdio.h> oder <wchar.h>

Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität.

Beispiel

Siehe das Beispiel in _spawn, _wspawn Funktionen.

.NET Framework-Entsprechung

Siehe auch

Referenz

Prozess- und Umgebungssteuerelement

_spawn, _wspawn Funktionen

Abbruch

atexit

_exec, _wexec Funktionen

Beenden, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

System, _wsystem