Share via


_execvpe、_wexecvpe

加载和运行新的子进程。

重要

此 API 不能用于在 Windows 运行时 中执行的应用程序。有关更多信息,请参见不支持 /ZW 的 CRT 函数

intptr_t _execvpe( 
   const char *cmdname,
   const char *const *argv,
   const char *const *envp 
);
intptr_t _wexecvpe( 
   const wchar_t *cmdname,
   const wchar_t *const *argv,
   const wchar_t *const *envp 
);

参数

  • cmdname
    要执行的文件的路径。

  • argv
    指向参数的指针的数组。

  • envp
    指向环境设置的指针的数组。

返回值

如果成功,这些函数不返回到调用进程。 返回值 –1 表示错误,在此情况下将会设置 errno 全局变量。

errno 值

说明

E2BIG

参数和环境设置所需的空间超过 32 KB。

EACCES

指定的文件具有锁定或共享冲突。

EMFILE

打开太多文件。(必须打开指定的文件以确定它是否是可执行文件。)

ENOENT

未找到文件或路径。

ENOEXEC

指定的文件不是可执行文件或者有无效的可执行文件格式。

ENOMEM

没有足够的内存可用于执行更新进程;可用内存损坏;或存在无效的块,指示调用进程未正确地分配。

有关这些属性和其他的更多信息返回代码示例,请参见 errno、_doserrno、_sys_errlist 和 _sys_nerr

备注

每个函数创建并执行一个新进程,通过一组指向命令行参数和一组指向环境设置的指针。 这些函数使用 PATH 环境变量查找要执行的文件。

_execvpe 函数验证其参数. 如果 cmdname 是 null 指针,或者,如果 argv 是 null 指针,指向空数组,或者,如果数组包含一个空字符串作为第一个参数,函数调用无效参数处理程序,如 参数验证所述。 如果允许执行继续,则这些功能将 EINVAL 设置为 errno 并返回 -1。 不启动任何进程。

要求

功能

必需的标头

可选标头

_execvpe

<process.h>

<errno.h>

_wexecvpe

<process.h> 或 <wchar.h>

<errno.h>

有关更多兼容性信息,请参见兼容性

示例

请参见 _exec、_wexec 函数中的示例。

.NET Framework 等效项

请参见

参考

进程和环境控制

_exec、_wexec 函数

abort

atexit

exit、_exit

_onexit、_onexit_m

_spawn、_wspawn 函数

system、_wsystem