다음을 통해 공유


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 멤버를 사용하여 기회 잠금이 끊어졌다는 알림이 애플리케이션에 표시됩니다. 애플리케이션은 GetOverlappedResultHasOverlappedIoCompleted와 같은 함수를 사용할 수도 있습니다.

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 포함)

추가 정보