Skip to content

Latest commit

 

History

History
98 lines (73 loc) · 3.86 KB

execve-wexecve.md

File metadata and controls

98 lines (73 loc) · 3.86 KB
description title ms.date api_name api_location api_type topic_type f1_keywords helpviewer_keywords ms.assetid
Learn more about: _execve, _wexecve
_execve, _wexecve
4/2/2020
_execve
_wexecve
_o__execve
_o__wexecve
msvcrt.dll
msvcr80.dll
msvcr90.dll
msvcr100.dll
msvcr100_clr0400.dll
msvcr110.dll
msvcr110_clr0400.dll
msvcr120.dll
msvcr120_clr0400.dll
ucrtbase.dll
api-ms-win-crt-process-l1-1-0.dll
DLLExport
apiref
wexecve
_wexecve
_execve
execve function
wexecve function
_execve function
_wexecve function
950d4802-a9c3-4f32-8145-a0119dd1d596

_execve, _wexecve

Loads and executes new child processes.

Important

This API cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported in Universal Windows Platform apps.

Syntax

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
);

Parameters

cmdname
Path of the file to execute.

argv
Array of pointers to parameters.

envp
Array of pointers to environment settings.

Return value

If successful, these functions don't return to the calling process. A return value of -1 indicates an error, in which case the errno global variable is set.

errno value Description
E2BIG The space required for the arguments and environment settings exceeds 32 KB.
EACCES The specified file has a locking or sharing violation.
EINVAL Invalid parameter.
EMFILE Too many files open (the specified file must be opened to determine whether it's executable).
ENOENT The file or path not found.
ENOEXEC The specified file isn't executable or has an invalid executable-file format.
ENOMEM 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 wasn't allocated properly.

For more information about these and other return codes, see errno, _doserrno, _sys_errlist, and _sys_nerr.

Remarks

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.

_execve and _wexecve validate their parameters. These functions invoke the invalid parameter handler, as described in Parameter validation, when:

  • cmdname is a null pointer,
  • argv is either a null pointer or pointer to an empty array,
  • the array contains an empty string as the first argument.

If execution is allowed to continue by the handler, these functions set errno to EINVAL, and return -1. No process is launched.

By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.

Requirements

Function Required header Optional header
_execve <process.h> <errno.h>
_wexecve <process.h> or <wchar.h> <errno.h>

For more compatibility information, see Compatibility.

Example

See the example in _exec, _wexec functions.

See also

Process and environment control
_exec, _wexec functions
abort
atexit
exit, _Exit, _exit
_onexit, _onexit_m
_spawn, _wspawn functions
system, _wsystem