본문 바로가기

My Study/Function

CreateProcess

BOOL WINAPI CreateProcess(
  __in_opt     LPCTSTR lpApplicationName,
  __inout_opt  LPTSTR lpCommandLine,
  __in_opt     LPSECURITY_ATTRIBUTES lpProcessAttributes,
  __in_opt     LPSECURITY_ATTRIBUTES lpThreadAttributes,
  __in         BOOL hInheritHandles,
  __in         DWORD dwCreationFlags,
  __in_opt     LPVOID lpEnvironment,
  __in_opt     LPCTSTR lpCurrentDirectory,
  __in         LPSTARTUPINFO lpStartupInfo,
  __out        LPPROCESS_INFORMATION lpProcessInformation
);

프로세스 생성하는 함수
lpApplicationName : 생성할 프로세스의 실행파일 이름. 경로명을 추가로 지정할 수 있으며,
   경로명을 지정하지 않을 경우 프고그램의 현재 디렉터리에서 실행파일을 찾게 됨
lpCommandLine : 새로 생성하는 프로세스에 인자를 전달할 때 사용("cmd.exe notepad" 이렇게..)
lpProcessAttributes : 프로세스의 보안 속성을 지정할 때 사용. 보통은 NULL(디폴트 보안속성)
lpThreadAttributes : 스레드의 보안 속성 지정. NULL
hInheritHandles : 전달인자가 TURE인 경우, 생성되는 자식 프로세스는 부모 프로세스가 소유하는 핸들 중 일부를 상속한다.
dwCreationFlags : 생성하는 프로세스의 특성(우선순위)을 결정지을 때 사용되는 옵션. 설정할 필요없을 땐 0
lpEnvironment : 생성하는 프로세스의 환경블록 지정. 보통 NULL
lpCurrentDirectory : 생성하는 프로세스의 현재 디렉터리를 설정하는 인자. 일반적으로 NULL
lpStartupInfo : STARTUPINFO구조체 변수를 초기화한 다음에 이 변수의 포인터를 인자로 전달
lpProcessInformation : 생성하는 프로세스 정보를 얻기 위해 사용되는 인자. PROCESS_INFORMATION구조체 변수의 주소값을 인자로 전달

성공하면 0아닌 값, 실패하면 0

'My Study > Function' 카테고리의 다른 글

WriteFile  (0) 2010.02.24
ReadFile  (0) 2010.02.24
CreateFile  (0) 2010.02.24
fopen의 정체  (0) 2010.02.24
WaitForSingleObject 함수  (2) 2009.12.09