다음을 통해 공유


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

참고 항목

CloseHandle

DuplicateHandle

GetCurrentProcessId

GetCurrentThread

OpenProcess

프로세스 및 스레드 함수

프로세스

VBS Enclave에서 사용할 수 있는 Vertdll API