Compartilhar via


_spawnvp, _wspawnvp

Cria um processo e execute-o.

Importante

Não é possível usar essa API em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.

intptr_t _spawnvp(
   int mode,
   const char *cmdname,
   const char *const *argv 
);
intptr_t _wspawnvp(
   int mode,
   const wchar_t *cmdname,
   const wchar_t *const *argv 
);

Parâmetros

  • mode
    Modo de execução para chamar o processo.

  • 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 ao nome do programa no modo protegido, e argv[1] com argv[] énponteiros em 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.

Valor de retorno

O valor de retorno de um _spawnvp síncrono ou _wspawnvp (_P_WAIT especificado para mode) é o status de saída do novo processo. O valor de retorno de um _spawnvp assíncrono ou _wspawnvp (_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ê pode definir o status de saída como um valor diferente de zero se o processo gerado usa especificamente 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 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 é definida como um dos seguintes valores:

  • 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 errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

Cada uma dessas funções cria um novo processo e executá-lo, e passar uma matriz de ponteiros para os argumentos de linha de comando e a usa a variável de ambiente de PATH para localizar o arquivo para executar.

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

_spawnvp

<stdio.h> ou <process.h>

_wspawnvp

<stdio.h> ou <wchar.h>

Para obter informações adicionais 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