_execlpe、_wexeclpe
新しい子プロセスを読み込んで実行します。
intptr_t _execlpe(
const char *cmdname,
const char *arg0,
... const char *argn,
NULL,
const char *const *envp
);
intptr_t _wexeclpe(
const wchar_t *cmdname,
const wchar_t *arg0,
... const wchar_t *argn,
NULL,
const wchar_t *const *envp
);
パラメーター
cmdname
実行するファイルのパス。arg0, ...argn
パラメーターへのポインターのリスト。envp
環境設定へのポインターの配列。
戻り値
成功すると、この関数は呼び出し側のプロセスには戻りません。 戻り値が -1 の場合はエラーであり、その場合にはグローバル変数 errno が設定されます。
errno の値 |
説明 |
---|---|
E2BIG |
引数リストと環境設定に必要な領域が 32 KB を超えています。 |
EACCES |
指定されたファイルにロック違反、または共有違反が発生しています。 |
EINVAL |
無効なパラメーター。 |
EMFILE |
開いているファイルが多すぎます (指定したファイルを開けないと、そのファイルが実行可能かどうかを判定できません)。 |
ENOENT |
ファイル名またはパス名が見つかりません。 |
ENOEXEC |
指定したファイルが実行可能ファイルでない、または実行可能ファイルの書式が無効です。 |
ENOMEM |
メモリ不足のため、新しいプロセスを実行できません。または、使用できるメモリが壊れています。または、無効なブロックがあるため、呼び出し側プロセスが正しく割り当てられていません。 |
リターン コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。
解説
これらの各関数は、新しいプロセスを読み込んで実行します。各コマンド ライン引数は、個別のパラメーターとして渡され、環境設定へのポインターの配列も渡されます。 実行するファイルを見つけるために PATH 環境変数が使用されます。
_execlpe関数は、パラメーターを検証します。 cmdname または arg0 が null ポインターまたは空の文字列の場合、「パラメーターの検証」に説明されているように、この関数は無効なパラメーター ハンドラーを呼び出します。 実行の継続が許可された場合、これらの関数は errno を EINVAL に設定し、-1 を返します。 新しいプロセスは開始されません。
必要条件
機能 |
必須ヘッダー |
オプション ヘッダー |
---|---|---|
_execlpe |
<process.h> |
<errno.h> |
_wexeclpe |
<process.h> または <wchar.h> |
<errno.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
「_exec、_wexec 系関数」の例を参照してください。