2013-08-19 2 views
1

파일을 만들 때 보통 공유를 0으로 설정하면 다른 프로세스에서 핸들을 열 수 없지만 특정 프로세스 (및 하위 프로세스)가 열 수 있도록 어떻게 만들 수 있습니까? 그것도?파일 핸들을 특정 프로세스와 하위 프로세스에만 공유하십시오.

+0

왜 그렇게 원하십니까? 나는 당신이 원하는 것을 성취 할 수있는 수많은 다른 방법이 있다고 믿습니다. 당신의 임무에 따라 다릅니다. – Codeguard

+0

@codeguard 질문에 내 과제가 이미 정의되어 있음 – SEQUENCE666

답변

0

각 프로세스에서 CreateFile()을 사용하면 파일에 액세스 할 수있는 프로세스를 선택적으로 선택할 수 없습니다. 모두 또는 모든 유형의 액세스입니다. 대신 파일을 만들고 파일을 필요로하는 동안 핸들을 열린 상태로두고 그 소스 프로세스에 DuplicateHandle()을 사용하여 파일에 액세스해야하는 특정 프로세스에 대한 파일 핸들 사본을 만들거나 IPC 메커니즘을 사용하면 파일을 사용할 수 있도록 해당 프로세스로 중복 핸들을 가져올 수 있습니다.

+0

나에게 CreateFile을 사용할 필요가 없습니다. ntdll.dll apis를 사용하는 것이 좋습니다. – SEQUENCE666

관련 문제