FSCTL_OPBATCH_ACK_CLOSE_PENDING IOCTL(winioctl.h)
클라이언트 애플리케이션이 파일을 닫을 준비가 되었음을 서버에 알립니다. 파일에 대한 기회 잠금이 끊어질 준비가 되었다는 알림이 표시되면 이 작업을 사용합니다.
이 작업을 수행하려면 다음 매개 변수를 사용하여 DeviceIoControl 함수를 호출합니다.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to file
FSCTL_OPBATCH_ACK_CLOSE_PENDING, // dwIoControlCode
NULL, // lpInBuffer
0, // nInBufferSize
NULL, // lpOutBuffer
0, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
설명
이 함수를 호출하기 전에 시스템 및 기타 플러그 인에 예약된 가상 채널이 있을 수 있으므로 사용 가능한 가상 채널의 수를 가정하지 마세요. 이 함수를 호출한 후 항상 CHANNEL_RC_TOO_MANY_CHANNELS 반환 코드를 검사.
이 작업에 겹치는 I/O의 의미는 DeviceIoControl 항목의 설명 섹션을 참조하세요.
파일에 대한 기회 잠금이 끊어질 준비가 되었다는 알림이 표시되고 곧 파일을 닫으려는 경우 FSCTL_OPBATCH_ACK_CLOSE_PENDING 제어 코드를 사용합니다. 이 작업은 새 기회 잠금을 요청하지 않습니다.
파일을 닫으려면 FSCTL_OPLOCK_BREAK_ACKNOWLEDGE 또는 FSCTL_OPLOCK_BREAK_ACK_NO_2 제어 코드를 사용하여 알림에 응답할 수 있습니다. 잠금이 손상되는 경우 사용되는 전자는 파일이 대신 수준 2 기회 잠금을 수신해야 함을 나타냅니다. 후자는 파일을 열어 둘 것을 요청하지만 모든 잠금이 손실됩니다.
기회 잠금이 끊어진 파일과 연결된 OVERLAPPED 구조체의 hEvent 멤버를 사용하여 기회 잠금이 끊어졌다는 알림이 애플리케이션에 표시됩니다. 애플리케이션은 GetOverlappedResult 및 HasOverlappedIoCompleted와 같은 함수를 사용할 수도 있습니다.
Windows 8 및 Windows Server 2012에서 이 코드는 다음 기술에서 지원됩니다.
기술 | 지원됨 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | No |
SMB 3.0 TFO(투명 장애 조치(failover)) | No |
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 | No |
CsvFS(클러스터 공유 볼륨 파일 시스템) | 예 |
ReFS(Resilient File System) | 예 |
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
머리글 | winioctl.h(Windows.h 포함) |