2013-03-07 3 views
1

CopyFile으로 파일을 복사 할 때 원본 파일이 잠겨 있습니까? 말하기 - 복사 작업이 시작된 후 누군가 소스 파일을 열려면 성공합니까? "누군가"가 파일에 대한 독점적 인 액세스를 요청하면 그의 Win32 API 호출 (아마도 CreateFile)이 실패하거나 복사 작업이 완료 될 때까지 기다릴 것입니까?CopyFile은 소스 파일에 잠금을 설정합니까?

+0

필자는 Windows가 파일에 대한 액세스를 동기화 할 것이라고 생각합니다. 일반적으로 이미 열려있는 파일에 액세스 할 때 오류가 발생합니다 ... –

답변

3

누군가 이미 열려있는 파일에 단독 액세스를 요청하면 해당 요청은 실패합니다. Windows에는 파일 열기 모드가 없습니다.이 모드는 "다른 사람이 파일을 사용하고 있다면 그 파일을 튕겨 내십시오."로 구성되어 있습니다.

내가 기억 하듯이 CopyFile은 다른 사람들이 읽을 수는 있지만 쓸 수 없도록 소스 파일을 엽니 다.

+0

예. 내 말은, 나는 많이 생각했다. 문제는 문서가 세부 정보에 아무런 언급도하지 않기 때문에이 질문입니다. –

+0

구현 세부 사항입니다. 공식적으로 문서화 될 것 같지 않습니다. – Deanna

+2

The Wine [CopyFileExW 소스] (http://source.winehq.org/source/dlls/kernel32/path.c#L936)는 모든 공유와 함께 파일을 엽니 다. . 윈도우즈가 보장하는 것은 아니지만 Wine은 높은 호환성을 목표로합니다. – Luke

관련 문제