FSCTL_DELETE_USN_JOURNAL IOCTL(winioctl.h)
볼륨에서 USN(업데이트 시퀀스 번호) 변경 저널을 삭제하거나 변경 저널 삭제 알림을 기다립니다.
C++ |
---|
BOOL WINAPI DeviceIoControl( (HANDLE) hDevice, // handle to volume FSCTL_DELETE_USN_JOURNAL, // dwIoControlCode(LPVOID) lpInBuffer, // input buffer (DWORD) nInBufferSize, // size of input buffer NULL, // lpOutBuffer0, // nOutBufferSize(LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure |
발언
이 작업에 겹치는 I/O의 의미는 DeviceIoControl 항목의 설명 섹션을 참조하세요.
FSCTL_DELETE_USN_JOURNAL 사용하여 변경 저널을 삭제할 수 있습니다. NTFS 파일 시스템은 삭제 작업을 시작하고 USN_DELETE_FLAG_NOTIFY 플래그가 DELETE_USN_JOURNAL_DATADeleteFlags 멤버에 설정되지 않는 한 즉시 호출 프로세스로 돌아갑니다.
USN_DELETE_FLAG_NOTIFY 플래그와 USN_DELETE_FLAG_DELETE 플래그가 모두 설정되면 FSCTL_DELETE_USN_JOURNAL 호출이 삭제 프로세스를 시작합니다. 그런 다음 호출은 호출 스레드를 차단하고 삭제를 기다리거나(동기 또는 겹치지 않는 호출에서) I/O 완료 포트 또는 기타 메커니즘을 사용하여 이벤트 알림을 설정하고(비동기 또는 겹치는 호출에서) 반환합니다.
FSCTL_DELETE_USN_JOURNAL 사용하여 USN_DELETE_FLAG_NOTIFY만 설정하여 변경 저널 삭제가 완료되었다는 알림을 받을 수도 있습니다. 이 경우 FSCTL_DELETE_USN_JOURNAL 작업은 반환하기 전에 삭제가 완료될 때까지 대기하거나(동기 또는 겹치지 않는 호출에서) I/O 완료 포트 또는 기타 메커니즘(비동기 또는 겹치는 호출)을 사용하여 이벤트 알림을 설정합니다.
애플리케이션이 알림을 받는 삭제는 현재 프로세스 또는 일부 다른 프로세스에서 시작되었을 수 있습니다. 예를 들어 애플리케이션이 시작되면 FSCTL_DELETE_USN_JOURNAL 사용하여 다른 프로세스에서 시작한 삭제가 진행 중인지 여부와 종료 여부를 확인할 수 있습니다.
변경 저널을 완전히 삭제하려면 변경 저널이 있는 볼륨을 검사해야 하며, 많은 파일이 있는 볼륨에서 시간이 오래 걸릴 수 있습니다. 시스템이 다시 시작되는 동안에도 작업이 계속 완료됩니다. 삭제가 진행 중인 동안 변경 저널을 만들거나 수정, 삭제 또는 쿼리하려고 시도하면 실패하고 오류 코드 ERROR_JOURNAL_DELETE_IN_PROGRESS반환합니다.
FSCTL_DELETE_USN_JOURNAL 작업에는 상당한 성능 비용이 있으므로 아쉽게 사용해야 합니다. 관리자는 현재 USN 값이 가능한 최대 USN 값의 값에 접근할 때 저널을 삭제해야 합니다.
자세한 내용은 변경 저널만들기, 수정 및 삭제
볼륨에 대한 핸들을 검색하려면 lpFileName 매개 변수가 다음 형식의 문자열로 설정된 CreateFile 호출합니다.
\\.\X:
앞의 문자열에서 X 볼륨이 나타나는 드라이브를 식별하는 문자입니다. 볼륨은 NTFS여야 합니다.
Windows 8 및 Windows Server 2012에서 이 코드는 다음 기술에서 지원됩니다.
기술 | 지원 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | 아니요 |
SMB 3.0 TFO(투명한 장애 조치(failover) | 아니요 |
SO(스케일 아웃 파일 공유)가 있는 SMB 3.0 | 아니요 |
CsvFS(클러스터 공유 볼륨 파일 시스템) | 예 |
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
헤더 | winioctl.h(Windows.h 포함) |
참고 항목
저널 변경
CreateFile
DeviceIoControl
겹치는
볼륨 관리 제어 코드