다음을 통해 공유


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 사용하여 변경 저널을 삭제할 수 있습니다. DELETE_USN_JOURNAL_DATA DeleteFlags 멤버에 USN_DELETE_FLAG_NOTIFY 플래그가 설정되지 않는 한 NTFS 파일 시스템은 삭제 작업을 시작하고 즉시 호출 프로세스로 돌아갑니다.

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 프로토콜 No
SMB 3.0 TFO(투명 장애 조치(failover)) No
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 No
CsvFS(클러스터 공유 볼륨 파일 시스템)

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winioctl.h(Windows.h 포함)

추가 정보

CREATE_USN_JOURNAL_DATA

변경 저널

CreateFile

DELETE_USN_JOURNAL_DATA

DeviceIoControl

FSCTL_CREATE_USN_JOURNAL

OVERLAPPED

볼륨 관리 제어 코드