_execvpe、_wexecvpe
載入並運行新的子處理程序。
重要
這個應用程式開發介面不能用於 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指標、空白陣列的指標、或是指向陣列的指標,包含空字串作為第一個引數,則這些函式會叫用如參數驗證中所述的無效參數處理常式。 如果允許繼續執行,這些函式會將 errno 設為 EINVAL,並傳回 -1。 未啟動任何處理序。
需求
功能 |
必要的標頭 |
選擇性標頭 |
---|---|---|
_execvpe |
<process.h> |
<errno.h> |
_wexecvpe |
<process.h> 或 <wchar.h> |
<errno.h> |
如需詳細的相容性資訊,請參閱相容性。
範例
請參閱_exec、_wexec 函式中的範例。
.NET Framework 對等用法
System::Diagnostics::Process 類別 (System::Diagnostics::Process Class)
System::Diagnostics::ProcessStartInfo 類別 (System::Diagnostics::ProcessStartInfo Class)