Share via


_spawnle, _wspawnle

Cria e executa um novo processo.

Observação importanteImportante

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 _spawnle( int mode, const char *cmdname, const char *arg0, const char *arg1, ... const char *argn, NULL, const char *const *envp ); intptr_t _wspawnle( 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 é geralmente 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 _spawnle síncrono ou _wspawnle (_P_WAIT especificado para mode) é o status de saída do novo processo.O valor de retorno de _spawnle assíncrono ou de _wspawnle (_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 chama especificamente a rotina de exit com um argumento diferente de zero.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 com um abort uma ou 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 o 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 _doserrno, errno, _sys_errlist, e _sys_nerr.

Comentários

Cada uma dessas funções cria e executa um novo processo, passando cada argumento de linha de comando como um parâmetro separado e também passar uma matriz de ponteiros para configurações de ambiente.

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

_spawnle

<process.h>

_wspawnle

<stdio.h> ou <wchar.h>

Para mais informações, consulte Compatibilidade de compatibilidade na introdução.

Exemplo

Consulte o exemplo em _spawn, funções de _wspawn.

Equivalência do .NET Framework

Consulte também

Referência

Processo e controle do ambiente

_spawn, _wspawn funções

anulação

atexit

_exec, _wexec funções

sair, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

sistema, _wsystem