Compartilhar via


_spawnve, _wspawnve

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 _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 argv0 é geralmente [] um ponteiro para um caminho no modo ou o nome real de programa em modo protegido, e argv1 com argv[] []né ponteiros para cadeias de caracteres que formam a nova lista de argumentos.O argumento argv[]n + deve ser 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 _spawnve síncrono ou _wspawnve (_P_WAIT especificado para mode) é o status de saída do novo processo.O valor de retorno de _spawnve assíncrono ou de _wspawnve (_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 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 são um ponteiro zero, ou se os pontos de argv ao ponteiro zero, ou argv[0] é uma cadeia de caracteres vazia, 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

_spawnve

<stdio.h> ou <process.h>

_wspawnve

<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