GetCurrentProcess 함수(processthreadsapi.h)
현재 프로세스에 대한 의사 핸들을 검색합니다.
구문
HANDLE GetCurrentProcess();
반환 값
반환 값은 현재 프로세스에 대한 의사 핸들입니다.
설명
의사 핸들은 현재(HANDLE)-1인 특수 상수로, 현재 프로세스 핸들로 해석됩니다. 향후 운영 체제와의 호환성을 위해 이 상수 값을 하드 코딩하는 대신 GetCurrentProcess 를 호출하는 것이 가장 좋습니다. 호출 프로세스는 의사 핸들을 사용하여 프로세스 핸들이 필요할 때마다 자체 프로세스를 지정할 수 있습니다. 의사 핸들은 자식 프로세스에서 상속되지 않습니다.
이 핸들에는 프로세스 개체에 대한 PROCESS_ALL_ACCESS 액세스 권한이 있습니다. 자세한 내용은 프로세스 보안 및 액세스 권한을 참조하세요.
Windows Server 2003 및 Windows XP: 이 핸들에는 프로세스의 보안 설명자가 프로세스의 기본 토큰에 허용되는 최대 액세스 권한이 있습니다.
프로세스는 DuplicateHandle 함수 호출에서 의사 핸들을 원본 핸들로 지정하여 다른 프로세스의 컨텍스트에서 유효하거나 다른 프로세스에서 상속할 수 있는 자체에 대한 "실제" 핸들을 만들 수 있습니다. 프로세스는 OpenProcess 함수를 사용하여 실제 핸들 자체를 열 수도 있습니다.
의사 핸들은 더 이상 필요하지 않은 경우 닫을 필요가 없습니다. 의사 핸들을 사용하여 CloseHandle 함수를 호출해도 아무런 효과가 없습니다. 의사 핸들이 DuplicateHandle에 의해 중복된 경우 중복 핸들을 닫아야 합니다.
예제
예를 들어 리디렉션된 입력 및 출력을 사용하여 자식 프로세스 만들기를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | processthreadsapi.h(Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2의 Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |