상속 처리

자식 프로세스는 부모 프로세스에서 핸들을 상속할 수 있습니다. 상속된 핸들은 자식 프로세스의 컨텍스트에서만 유효합니다. 자식 프로세스가 부모 프로세스에서 열린 핸들을 상속할 수 있도록 하려면 다음 단계를 사용합니다.

  1. SECURITY_ATTRIBUTES 구조체의 bInheritHandle 멤버가 TRUE로 설정된 핸들을 만듭니.
  2. bInheritHandles 매개 변수가 TRUE로 설정된 CreateProcess 함수를 사용하여 자식 프로세스를 만듭니다.

DuplicateHandle 함수는 현재 프로세스 또는 다른 프로세스에서 사용할 핸들을 복제합니다. 애플리케이션이 다른 프로세스에 대한 핸들 중 하나를 복제하는 경우 중복된 핸들은 다른 프로세스의 컨텍스트에서만 유효합니다.

중복되거나 상속된 핸들은 고유한 값이지만 원래 핸들과 동일한 개체를 나타냅니다. 프로세스는 다음 유형의 개체에 대한 핸들을 상속하거나 복제할 수 있습니다.

  • 액세스 토큰
  • 통신 디바이스
  • 콘솔 입력
  • 콘솔 화면 버퍼
  • 데스크톱
  • 디렉터리
  • 이벤트
  • 파일
  • 파일 매핑
  • 작업
  • Mailslot
  • Mutex
  • 파이프
  • Process
  • 레지스트리 키
  • 세마포
  • 소켓
  • 스레드
  • 타이머
  • 창 스테이션

다른 모든 개체는 해당 개체를 만든 프로세스에 비공개입니다. 개체 핸들을 복제하거나 상속할 수 없습니다.

자세한 내용은 상속을 참조하세요.