_spawnv, _wspawnv
새 프로세스를 만들고 실행합니다.
중요
이 API는 Windows 런타임에서 실행되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /ZW에서 지원하지 않는 CRT 함수를 참조하십시오.
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
);
매개 변수
mode
호출 프로세스의 실행 모드입니다.cmdname
실행할 파일의 경로입니다.argv
인수에 대한 포인터 배열입니다. 인수 argv[0]는 일반적으로 경로에 대 한 포인터 또는 프로그램 이름을 리얼 모드에서 보호 모드로 하고 argv[1]를 통해 argv[n]새 인수 목록 구성 문자열에 대 한 포인터입니다. 인수 argv[n +1]은 인수 목록의 끝을 표시하는 NULL 포인터여야 합니다.
반환 값
_spawnv 로부터 동기화된 반환 값 또는 _wspawnv 은 (__P_WAIT 지정된 mode) 새 프로세스의 종료 상태입니다. 비동기 작업의 반환 값 _spawnv 또는 _wspawnv 은 (_P_NOWAIT 또는 _P_NOWAITO 지정된 mode) 프로세스 핸들입니다. 프로세스가 정상적으로 종료되는 경우 종료 상태는 0입니다. 생성된 프로세스가 0이 아닌 인수를 가진 exit 루틴을 호출하는 경우에만 종료 상태를 0이 아닌 값으로 설정할 수 있습니다. 새 프로세스가 양수 값의 종료 상태를 명시적으로 설정하지 않은 경우, 양수 값의 종료 상태는 중단되거나 인터럽트된 비정상적인 종료를 나타냅니다. 반환 값 -1은 새 프로세스가 시작되지 않은 오류를 나타냅니다. 이 경우 errno는 다음 값 중 하나로 설정됩니다.
E2BIG
인수 목록이 1024바이트를 초과합니다.EINVAL
mode 인수가 잘못되었습니다.ENOENT
파일 또는 경로를 찾을 수 없습니다.ENOEXEC
지정한 파일이 실행할 수 없거나 실행 파일 형식이 잘못되었습니다.ENOMEM
메모리가 부족하여 새 프로세스를 실행할 수 없습니다.
이러한 반환 코드 및 기타 반환 코드에 대한 자세한 내용은 _doserrno, errno, _sys_errlist 및 _sys_nerr을 참조하십시오.
설명
실행 명령줄 인수를 전달하는 포인터의 배열을 실행하고, 이러한 각각의 함수는 새 프로세스를 만들고 실행합니다.
이러한 함수는 해당 함수 매개 변수의 유효성을 검사합니다. cmdname 또는 argv 가 null 포인터인 경우 argv null 포인터를 가르키는 경우, 또는 argv[0] 이 빈 문자열인 경우, 설명된 대로 매개 변수 유효성 검사 는 잘못 된 매개변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우, 이러한 함수는 errno를 EINVAL 로 설정하고 -1을 반환합니다. 새로운 프로세스가 생성되지 않습니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
_spawnv |
<stdio.h> 또는 <process.h> |
_wspawnv |
<stdio.h> 또는 <wchar.h> |
호환성 정보에 대한 자세한 내용은 호환성을 참조하십시오.
예제
_spawn, _wspawn 함수의 예제를 참조하십시오.