_spawnle, _wspawnle
创建并执行更新过程。
重要事项 |
---|
此 API 不能在运行时的窗口执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW。 |
intptr_t _spawnle(
int mode,
const char *cmdname,
const char *arg0,
const char *arg1,
... const char *argn,
NULL,
const char *const *envp
);
intptr_t _wspawnle(
int mode,
const wchar_t *cmdname,
const wchar_t *arg0,
const wchar_t *arg1,
... const wchar_t *argn,
NULL,
const wchar_t *const *envp
);
参数
mode
调用执行模式处理。cmdname
要执行的文件的路径。arg0, arg1, ... argn
列出指向参数。arg0 参数通常是指向 cmdname。arg1 通过 argn 是指向窗体新的字符串) 的参数参数列表。在 argn之后,必须具有标记末尾的 NULL 指针参数列表。envp
某些属性环境设置的指针。
返回值
从同步 _spawnle 或 _wspawnle (_为 mode指定的P_WAIT 的返回值) 作为退出状态的更新过程。从异步 _spawnle 或 _wspawnle 的返回值 (有关 mode或 _P_NOWAITO 指定的_P_NOWAIT ) 是处理句柄。如果处理通常,已停止退出状态为 0。如果给定进程专门调用与非零参数,的 exit 实例可以设置退出状态到一个非零值。如果更新过程没有显式设置正退出状态,就象退出状态指示异常退出以 + 中成对或中断。返回值– 1 表示错误 (更新过程不启动)。在这种情况下,errno 设置为下列值之一。
E2BIG
参数列表超过 1024 个字节。EINVAL
mode 参数无效。ENOENT
未找到文件或路径。ENOEXEC
使用指定的文件不可执行文件也没有无效可执行 (pe) 文件格式。ENOMEM
没有足够的内存可用于执行更新过程。
有关这些属性和其他的更多信息返回代码示例,请参见 _doserrno、errno、_sys_errlist 和_sys_nerr。
备注
这些功能中的每个创建并执行更新过程,通过每命令行参数作为单独的参数传递数组的指针环境设置。
这些功能验证其参数。如果 cmdname 或 arg0 空字符串或 null 指针,无效参数调用处理程序,如 参数验证所述。如果执行允许继续,对 EINVAL的这些功能集 errno,并且返回 -1。不更新过程为。
要求
实例 |
必需的标头 |
---|---|
_spawnle |
<process.h> |
_wspawnle |
<stdio.h> 或 <wchar.h> |
有关更多兼容性信息,请参见中介绍的 兼容性。
示例
在参见 _spawn,_wspawn 功能的示例。