Share via


프로세스 핸들 및 식별자

CreateProcess 함수에서 새 프로세스를 만들면 새 프로세스 및 기본 스레드의 핸들이 반환됩니다. 이러한 핸들은 모든 액세스 권한으로 만들어지고 보안 액세스 검사에 따라 스레드 또는 프로세스 핸들을 허용하는 함수에서 사용할 수 있습니다. 이러한 핸들은 만들 때 지정된 상속 플래그에 따라 자식 프로세스에서 상속할 수 있습니다. 핸들은 나타내는 프로세스 또는 스레드가 종료된 후에도 닫을 때까지 유효합니다.

또한 CreateProcess 함수는 시스템 전체에서 프로세스를 고유하게 식별하는 식별자를 반환합니다. 프로세스는 GetCurrentProcessId 함수를 사용하여 자체 프로세스 식별자(프로세스 ID 또는 PID라고도 함)를 가져올 수 있습니다. 식별자는 프로세스가 만들어지는 시점부터 프로세스가 종료될 때까지 유효합니다. 프로세스는 Process32First 함수를 사용하여 부모 프로세스의 프로세스 식별자를 가져올 수 있습니다.

프로세스 식별자가 있는 경우 OpenProcess 함수를 호출하여 프로세스 핸들을 가져올 수 있습니다. OpenProcess 를 사용하면 핸들의 액세스 권한 및 상속 여부를 지정할 수 있습니다.

프로세스는 GetCurrentProcess 함수를 사용하여 자체 프로세스 개체에 대한 의사 핸들을 검색할 수 있습니다. 이 의사 핸들은 호출 프로세스에만 유효합니다. 다른 프로세스에서 사용하기 위해 상속되거나 중복될 수 없습니다. 프로세스에 대한 실제 핸들을 가져오려면 DuplicateHandle 함수를 호출합니다.