The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at _execve, _wexecve.
Loads and executes new child processes.
This API cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported with /ZW.
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 );
Path of the file to execute.
Array of pointers to parameters.
Array of pointers to environment settings.
If successful, these functions do not return to the calling process. A return value of –1 indicates an error, in which case the
errno global variable is set.
||The space required for the arguments and environment settings exceeds 32 KB.|
||The specified file has a locking or sharing violation.|
||Too many files open (the specified file must be opened to determine whether it is executable).|
||The file or path not found.|
||The specified file is not executable or has an invalid executable-file format.|
||Not enough memory is available to execute the new process; the available memory has been corrupted; or an invalid block exists, indicating that the calling process was not allocated properly.|
For more information about these and other return codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.
Each of these functions loads and executes a new process, passing an array of pointers to command-line arguments and an array of pointers to environment settings.
_wexecve validate their parameters. If
cmdname is a null pointer, or if
argv is a null pointer, pointer to an empty array, or if the array contains an empty string as the first argument, these functions invoke the invalid parameter handler as described in Parameter Validation. If execution is allowed to continue, these functions set
EINVAL and return -1. No process is launched.
|Function||Required header||Optional header|
||<process.h> or <wchar.h>||<errno.h>|
For more compatibility information, see Compatibility.
See the example in _exec, _wexec Functions.