Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch
Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

_spawnve, _wspawnve

Erstellt und führt einen neuen Prozess aus.

Wichtiger Hinweis Wichtig

Dieses API kann nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW.

intptr_t _spawnve( int mode, const char *cmdname, const char *const *argv, const char *const *envp ); intptr_t _wspawnve( int mode, const wchar_t *cmdname, const wchar_t *const *argv, const wchar_t *const *envp );

mode

Ausführungsmodus für einen aufrufenden Prozesses.

cmdname

Pfad der auszuführenden Datei.

argv

Array von Zeigern auf den Argumenten. Das Argument argv[0] ist normalerweise ein Zeiger auf einen Pfad im Realmodus oder dem Programmnamen im geschützten Modus und argv[1] durch argv[n] sind Zeiger auf Zeichenfolgen, die die neue Argumentliste bilden. Das Argument argv[n +1] muss ein NULL Zeiger sein, um das Ende der Argumentliste zu markieren.

envp

Array mit Zeigern auf Umgebungseinstellungen.

Der Rückgabewert von synchronen _spawnve oder von _wspawnve (_P_WAIT angegebenen für mode) ist der Endestatus des neuen Prozesses. Der Rückgabewert von asynchronen _spawnve oder von _wspawnve (_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 speziell die exit Routine mit einem Argument ungleich 0 (null) aufruft. Wenn der neue Prozess nicht explizit einen positiven Endestatus festgelegt hat, gibt ein positiver Endestatus eine nicht normaler Beendigung mit einem Abbruch oder einer Unterbrechung 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.

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 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 _doserrno, errno, _sys_errlist und _sys_nerr.

Jede dieser Funktionen erstellt und führt einen neuen Prozess aus und gibt ein Array von Zeigern auf den Befehlszeilenargumenten und ein Array von Zeigern auf den Umgebungseinstellungen.

Diese Funktionen überprüfen ihre Parameter. Wenn entweder cmdname oder argv ein NULL-Zeiger ist oder wenn argv zum NULL-Zeiger oder zu argv[0] zeigt, eine leere Zeichenfolge 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.

Routine

Erforderlicher Header

_spawnve

<stdio.h> oder <process.h>

_wspawnve

<stdio.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie in der Einführung unter Kompatibilität.

Anzeigen: