_spawnlpe, _wspawnlpe
Cria e executa um novo processo.
Importante |
---|
Este API não pode ser usado em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW. |
intptr_t _spawnlpe( int mode, const char *cmdname, const char *arg0, const char *arg1, ... const char *argn, NULL, const char *const *envp ); intptr_t _wspawnlpe( int mode, const wchar_t *cmdname, const wchar_t *arg0, const wchar_t *arg1, ... const wchar_t *argn, NULL, const wchar_t *const *envp );
Parâmetros
mode
Modo de execução do processo de chamada.cmdname
Caminho do arquivo a ser executado.arg0, arg1, ... argn
Ponteiros a lista de argumentos.O argumento de arg0 é normalmente um ponteiro para cmdname.Os argumentos arg1 com argn são ponteiros para cadeias de caracteres que formam a nova lista de argumentos.Depois de argn, deve haver um ponteiro de NULL para marcar o fim da lista de argumentos.envp
Matriz de ponteiros para configurações de ambiente.
Valor de retorno
O valor de retorno de _spawnlpe síncrono ou de _wspawnlpe (_P_WAIT especificado para mode) é o status de saída do novo processo.O valor de retorno de _spawnlpe assíncrono ou de _wspawnlpe (_P_NOWAIT ou _P_NOWAITO especificado para mode) é o identificador do processo.O status de saída é 0 se o processo finalizou normalmente.Você pode definir o status de saída para um valor diferente de zero se o processo desovado especificamente usa um argumento diferente de zero para chamar a rotina de exit .Se o novo processo não definiu explicitamente um status de saída positivo, um status de saída positivo indica uma saída anormal causada por um abort ou uma interrupção.Um valor de retorno de – 1 indica um erro (o novo processo não é iniciado.)Nesse caso, errno é definida como um dos seguintes valores.
E2BIG
A lista de argumento excede 1024 bytes.EINVAL
o argumento demode é inválido.ENOENT
Arquivo ou o caminho não são encontrados.ENOEXEC
O arquivo especificado não é executável ou tem um formato de arquivo executável inválido.ENOMEM
Não está disponível memória suficiente para executar o novo processo.
Para obter mais informações sobre esses e outros códigos de retorno, consulte errno, _doserrno, _sys_errlist e _sys_nerr.
Comentários
Cada uma dessas funções cria e executa um novo processo, passa cada argumento de linha de comando como um parâmetro separado, e passa uma matriz de ponteiros para configurações de ambiente.Essas funções usam a variável de ambiente de PATH para localizar o arquivo para executar.
Essas funções validam seus parâmetros.Se cmdname ou arg0 é uma cadeia de caracteres vazia ou um ponteiro zero, o manipulador inválido do parâmetro é invocado, como descrito em Validação de parâmetro.Se a execução é permitida continuar, este funções errno definido retorno a EINVAL, e -1.Nenhum novo processo é desovado.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_spawnlpe |
<process.h> |
_wspawnlpe |
<stdio.h> ou <wchar.h> |
Para mais informações, consulte Compatibilidadede compatibilidade.
Exemplo
Consulte o exemplo em _spawn, _wspawn funções.