_spawnvpe, _wspawnvpe
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 _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 para o processo de chamadacmdname
Caminho do arquivo a ser executadoargv
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 _spawnvpe síncrono ou de _wspawnvpe (_P_WAIT especificado para mode) é o status de saída do novo processo. O valor de retorno de um _spawnvpe assíncrono ou de _wspawnvpe (_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 é definida como um dos seguintes valores:
E2BIG
A lista de argumento excede 1024 bytesEINVAL
O argumento mode é inválidoENOENT
Arquivo ou caminho não encontradoENOEXEC
O arquivo especificado não é executável ou tem um formato de arquivo executável inválidoENOMEM
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 usam a variável de ambiente PATH para localizar o arquivo a ser executado.
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 |
---|---|
_spawnvpe |
<stdio.h> ou <process.h> |
_wspawnvpe |
<stdio.h> ou <wchar.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade.
Exemplo
Consulte o exemplo em Funções _spawn, _wspawn.