커널 오브젝트는 프로세스에 종속적인 것이 아니라 운영체제에 종속적인 관계로, 여러 프로세스에 의해서 접근(공유)가 가능하다.
각각의 프로세스는 독립적인 핸들 테이블을 구성하고 관리한다. 독립된 프로세스 영역의 핸들 테이블이기 때문에 동일한 커널 오브젝트를 가리키더라도 핸들 값이 다를 수 있다.
프로세스 ID와 프로세스 프로세스 핸들의 차이점을 명확히 하자.
프로세스 ID는 프로세스 자체를 구분짓기 위한 것이고, 프로세스 핸들은 프로세스 커널 오브젝트를 가리키기 위한 것이다.
따라서 부모 프로세스가 자식 프로세스를 생성한 다음에 자식 프로세스 ID와 프로세스 커널 오브젝트 핸들 값을 출력하였을 때, 자식 프로세스가 스스로 확인한 프로세스 ID와 프로세스 커널 오브젝트 핸들 출력 값을 비교해보면, 프로세스 ID는 출력 값이 같지만 핸들 값은 다르다.
DuplicateHandle 함수를 통해 핸들을 복사하였을 때도 핸들이 가리키는 커널 오브젝트는 같지만 핸들 값은 다르다.
| 핸들 | 커널 오브젝트 주소 |
| ... | ... |
| 256 | 0x2400 |
| ... | ... |
| 284 | 0x2400 |
| ... | ... |
핸들의 상속은 부모 프로세스의 핸들 테이블에 등록된 핸들 정보를 그대로 자식 프로세스에게 전달하는 것이다. 이 때 상속 여부가 TRUE인 것만 상속된다. 핸들 값과 주소, 상속 여부까지 그대로 자식 프로세스 핸들 테이블에 복제된다.