다음을 통해 공유


기회 잠금을 요청하는 방법

클라이언트 애플리케이션은 잠금이 로컬 서버에서 파일을 대상으로 한 경우에만 기회 잠금을 직접 요청합니다. 원격 서버의 파일에 액세스할 때 원격 서버에서 기회 잠금을 요청하는 것은 클라이언트 애플리케이션이 아닌 네트워크 리디렉터입니다.

기회 잠금은 먼저 파일을 여는 애플리케이션에 적합한 권한 및 플래그가 있는 파일을 열어 요청됩니다. 중첩된(비동기) 작업을 위해 기회 잠금을 요청할 모든 파일을 열어야 합니다. 겹치는 작업을 위해 파일을 연 후 적절한 제어 코드와 함께 DeviceIoControl 함수를 사용하여 기회 잠금을 요청합니다. 기회 잠금 작업 목록은 기회 잠금 작업을 참조하세요.

애플리케이션은 파일과 연결된 OVERLAPPED 구조체의 hEvent 멤버를 사용하여 기회 잠금이 끊어졌다는 알림을 받습니다. 애플리케이션은 GetOverlappedResultHasOverlappedIoCompleted와 같은 함수를 사용할 수도 있습니다. 애플리케이션은 올바른 파일을 손상된 기회 잠금과 연결해야 합니다.

알림에 대한 자세한 내용은 동기화를 참조하세요.