Compartilhar via


_spawnvpe, _wspawnvpe

Criar e executar 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 _spawnvpe( int mode, const char *cmdname, const char *const *argv, const char *const *envp ); intptr_t _wspawnvpe( int mode, const wchar_t *cmdname, const wchar_t *const *argv, const wchar_t *const *envp );

Parâmetros

  • mode
    Modo de execução do 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 _spawnvpe síncrono ou _wspawnvpe (_P_WAIT especificado para mode) é o status de saída do novo processo.O valor de retorno de _spawnvpe assíncrono ou de _wspawnvpe (_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 não é vá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

Consulte _doserrno, errno, _sys_errlist, e _sys_nerr para obter mais informações sobre eles, e outros códigos de retorno.

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 usam a variável de ambiente de PATH para localizar o arquivo para executar.

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

_spawnvpe

<stdio.h> ou <process.h>

_wspawnvpe

<stdio.h> ou <wchar.h>

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

Exemplo

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

Equivalência do .NET Framework

Consulte também

Referência

anulação

atexit

_exec, _wexec funções

sair, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

sistema, _wsystem