Compartilhar via


_spawnve, _wspawnve

Cria e executa um novo processo.

Importante

Esta API não pode ser usada em aplicativos que executam no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.

intptr_t _spawnve(
   int mode,
   const char *cmdname,
   const char *const *argv,
   const char *const *envp 
);
intptr_t _wspawnve(
   int mode,
   const wchar_t *cmdname,
   const wchar_t *const *argv,
   const wchar_t *const *envp 
);

Parâmetros

  • mode
    Modo de execução para um processo de chamada.

  • cmdname
    Caminho do arquivo a ser executado.

  • argv
    Matriz de ponteiros para argumentos. O argumento argv[0] é geralmente um ponteiro para um caminho no modo real ou para o nome do programa no modo protegido, e argv[1] em argv[n] são ponteiros para as cadeias de caracteres que formam a nova lista de argumentos. O argumento argv[n +1] deve ser um ponteiro 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 um _spawnve síncrono ou _wspawnve (_P_WAIT especificado para mode) é o status de saída do novo processo. O valor de retorno de um _spawnve assíncrono ou _wspawnve (_P_NOWAIT ou _P_NOWAITO especificado para mode) é o identificador de processo. O status de saída será 0 se o processo foi encerrado normalmente. Você poderá definir o status de saída para um valor diferente de zero se o processo gerado chamar especificamente a rotina 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 indicará uma saída anormal com uma anulação ou uma interrupção. Um valor de retorno de – 1 indica um erro (o novo processo não é iniciado). Nesse caso, errno é definido para um dos valores a seguir.

  • E2BIG
    A lista de argumento excede 1024 bytes.

  • EINVAL
    O argumento mode é inválido.

  • ENOENT
    Arquivo ou caminho não encontrado.

  • ENOEXEC
    O arquivo especificado não é executável ou tem um formato de arquivo executável inválido.

  • ENOMEM
    Memória insuficiente disponível para executar o novo processo.

Para obter mais informações sobre esses e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist, and _sys_nerr.

Comentários

Cada uma dessas funções cria e executa um novo processo, passando uma matriz de ponteiros para argumentos de linha de comando e uma matriz de ponteiros para configurações de ambiente.

Essas funções validam seus parâmetros. Se cmdname ou argv for um ponteiro nulo, ou se argv apontar para o ponteiro nulo, ou se argv[0] for uma cadeia de caracteres vazia, o manipulador de parâmetro inválido será chamado, conforme descrito em Validação do parâmetro. Se a execução puder continuar, essas funções definirão errno como EINVAL e retornarão -1. Nenhum novo processo é gerado.

Requisitos

Rotina

Cabeçalho necessário

_spawnve

<stdio.h> ou <process.h>

_wspawnve

<stdio.h> ou <wchar.h>

Para obter mais informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

Consulte o exemplo em Funções _spawn, _wspawn.

Equivalência do .NET Framework

Consulte também

Referência

Processo e controle de ambiente

Funções _spawn, _wspawn

abort

atexit

Funções _exec, _wexec

exit, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

system, _wsystem