상속 처리
자식 프로세스는 부모 프로세스에서 핸들을 상속할 수 있습니다. 상속된 핸들은 자식 프로세스의 컨텍스트에서만 유효합니다. 자식 프로세스가 부모 프로세스에서 열린 핸들을 상속할 수 있도록 하려면 다음 단계를 사용합니다.
- SECURITY_ATTRIBUTES 구조체의 bInheritHandle 멤버가 TRUE로 설정된 핸들을 만듭니다.
- bInheritHandles 매개 변수가 TRUE로 설정된 CreateProcess 함수를 사용하여 자식 프로세스를 만듭니다.
DuplicateHandle 함수는 현재 프로세스 또는 다른 프로세스에서 사용할 핸들을 복제합니다. 애플리케이션이 다른 프로세스에 대한 핸들 중 하나를 복제하는 경우 중복된 핸들은 다른 프로세스의 컨텍스트에서만 유효합니다.
중복되거나 상속된 핸들은 고유한 값이지만 원래 핸들과 동일한 개체를 나타냅니다. 프로세스는 다음 유형의 개체에 대한 핸들을 상속하거나 복제할 수 있습니다.
- 액세스 토큰
- 통신 디바이스
- 콘솔 입력
- 콘솔 화면 버퍼
- 데스크톱
- 디렉터리
- 이벤트
- 파일
- 파일 매핑
- 작업
- Mailslot
- Mutex
- 파이프
- Process
- 레지스트리 키
- 세마포
- 소켓
- 스레드
- 타이머
- 창 스테이션
다른 모든 개체는 해당 개체를 만든 프로세스에 비공개입니다. 개체 핸들을 복제하거나 상속할 수 없습니다.
자세한 내용은 상속을 참조하세요.