2012-04-12 1 views
1

파일 매핑을 사용하여 두 프로세스간에 내용을 공유 할 수 있지만 동일한 파일 매핑 개체가 필요하다는 것을 알고 있습니다.Windows CreateFileMapping : 동일한 백업 파일이있는 서로 다른 파일 매핑 개체

각 프로세스가 고유 한 파일 핸들을 사용하여 자체 파일 매핑 개체를 생성하지만 각 파일 핸들이 동일한 파일을 가리키는 경우은 어떻게됩니까?

감사 장

문서에서
+0

I * 추측 * 누구든지 마지막에 쓰는 사람은 이전에 쓰여진 내용을 덮어 씁니다. – Asha

답변

5

:

실제로 프로세스 주소 공간에보기를 매핑하지 않는 파일 매핑 개체 만들기. MapViewOfFile 및 MapViewOfFileEx 함수는 파일보기를 프로세스 주소 공간에 매핑합니다.

중요한 예외 중 하나는 동일한 파일로 백업 된 모든 파일 매핑 개체에서 파생 된 파일보기가 특정 시간에 일치하거나 동일하다는 것입니다. 일관성은 프로세스 내의 뷰와 다른 프로세스로 맵핑 된 뷰에 대해 보장됩니다.

예외는 원격 파일과 관련이 있습니다. CreateFileMapping은 원격 파일과 작동하지만 일관성을 유지하지는 못합니다. 예를 들어, 두 컴퓨터가 모두 쓰기 가능한 파일을 매핑하고 둘 다 동일한 페이지를 변경하면 각 컴퓨터는 페이지에 대한 자체 쓰기 만 볼 수 있습니다. 데이터가 디스크에서 업데이트되면 병합되지 않습니다.