_execve、_wexecve
ロードは、新しい子プロセスが実行されます。
重要 |
---|
この API は、Windows のランタイムで実行するアプリケーションで使用することはできません。詳細については、でサポート /ZW CRT 関数" "を参照してください。 |
intptr_t _execve(
const char *cmdname,
const char *const *argv,
const char *const *envp
);
intptr_t _wexecve(
const wchar_t *cmdname,
const wchar_t *const *argv,
const wchar_t *const *envp
);
パラメーター
cmdname
実行するファイルのパス。argv
パラメーターへのポインターの配列。envp
環境設定へのポインターの配列。
戻り値
成功すると、これらの関数は、呼び出し元プロセスに返送されません。–1 の戻り値は errno のグローバル変数が設定されている場合、エラーを示します。
errno の値 |
説明 |
---|---|
E2BIG |
引数と環境の設定に必要な領域は 32 KB を超えています。 |
EACCES |
指定したファイルにロック、共有違反があります。 |
EINVAL |
無効なパラメーター。 |
EMFILE |
開いている多すぎるファイル (実行できるかどうか) を判断するために指定されたファイルを開く必要があります。 |
ENOENT |
検索またはファイル パス。 |
ENOEXEC |
指定されたファイルには実行できず、無効なファイル形式はありません。 |
ENOMEM |
十分なメモリが新しいプロセスを実行して使用できません。; 使用できるメモリが破損しています; または無効なブロックは、呼び出し元プロセスが正しく割り当てられていないことを示します。 |
リターン コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。
解説
これらの関数はコマンド ライン引数へのポインターの配列と環境の設定へのポインターの配列を渡す新しいプロセスを読み込んで実行します。
_execve と _wexecve は、パラメーターを検証します。cmdname が null ポインターの場合、またはが null ポインター argv、空の配列へのポインターである場合、または配列が最初の引数として空の文字列が含まれている場合、これらの関数は パラメーターの検証に説明されているように、無効なパラメーター ハンドラーを呼び出します。実行の継続が許可された場合、これらの関数は errno を EINVAL に設定し、-1 を返します。プロセスが起動します。
必要条件
Function |
必須ヘッダー |
オプション ヘッダー |
---|---|---|
_execve |
<process.h> |
<errno.h> |
_wexecve |
<process.h> か <wchar.h> |
<errno.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
_exec、_wexec 系関数の例を参照してください。