_spawnv, _wspawnv
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 _spawnv(
int mode,
const char *cmdname,
const char *const *argv
);
intptr_t _wspawnv(
int mode,
const wchar_t *cmdname,
const wchar_t *const *argv
);
Parâmetros
mode
Modo de execução para o 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.
Valor de retorno
O valor de retorno de _spawnv síncrono ou de _wspawnv (_P_WAIT especificado para mode) é o status de saída do novo processo. O valor de retorno de um _spawnv assíncrono ou de _wspawnv (_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.
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 |
---|---|
_spawnv |
<stdio.h> ou <process.h> |
_wspawnv |
<stdio.h> ou <wchar.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
Consulte o exemplo em Funções _spawn, _wspawn.