Compartilhar via


_spawnlpe, _wspawnlpe

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 _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.

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