_spawnle, _wspawnle
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 _spawnle(
int mode,
const char *cmdname,
const char *arg0,
const char *arg1,
... const char *argn,
NULL,
const char *const *envp
);
intptr_t _wspawnle(
int mode,
const wchar_t *cmdname,
const wchar_t *arg0,
const wchar_t *arg1,
... const wchar_t *argn,
NULL,
const wchar_t *const *envp
);
Parâmetros
mode
Modo de execução para o processo de chamada.cmdname
Caminho do arquivo a ser executado.arg0, arg1, ... argn
Lista dos ponteiros dos argumentos. O argumento arg0 é geralmente um ponteiro para cmdname. Os argumentos arg1 a argn são ponteiros para as cadeias de caracteres que formam a nova lista de argumentos. Depois de argn, deve haver 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 um _spawnle síncrono ou _wspawnle (_P_WAIT especificado para mode) é o status de saída do novo processo. O valor de retorno de um _spawnle assíncrono ou de _wspawnle (_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 cada argumento de linha de comando como um parâmetro separado e passando também uma matriz de ponteiros para configurações de ambiente.
Essas funções validam seus parâmetros. Se cmdname ou arg0 for uma cadeia de caracteres vazia ou um ponteiro nulo, o manipulador de parâmetro inválido será chamado, como 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 |
---|---|
_spawnle |
<process.h> |
_wspawnle |
<stdio.h> ou <wchar.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
Consulte o exemplo em Funções _spawn, _wspawn.