次の方法で共有


_execlpe、_wexeclpe

更新 : 2007 年 11 月

新しい子プロセスを読み込んで実行します。

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 環境変数が使用されます。

Visual C++ 2005 から、_execlpe 関数はパラメータを検証するようになりました。cmdname または arg0 が null ポインタまたは空の文字列の場合、「パラメータの検証」に説明されているように、この関数は無効なパラメータ ハンドラを呼び出します。実行の継続が許可された場合、これらの関数は errno を EINVAL に設定し、-1 を返します。新しいプロセスは開始されません。

必要条件

関数

必須ヘッダー

オプション ヘッダー

_execlpe

<process.h>

<errno.h>

_wexeclpe

<process.h> または <wchar.h>

<errno.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

_exec、_wexec 系関数」の例を参照してください。

.NET Framework の相当するアイテム

参照

参照

プロセス制御と環境制御

_exec、_wexec 系関数

abort

atexit

exit、_exit

_onexit、_onexit_m

_spawn 系関数と _wspawn 系関数

system、_wsystem