스레드가 새 USN 레코드를 작성할 때 스레드가 해당 플래그를 설정하는 경우에만 이전 레코드의 원본 정보 플래그가 계속 존재합니다. 따라서 원본 정보 구조를 사용하면 애플리케이션이 알려진 원본(예: 바이러스 백신 필터)에서만 설정된 USN 레코드를 필터링할 수 있습니다.
다음 값 중 하나를 설정할 수 있습니다.
값
의미
USN_SOURCE_AUXILIARY_DATA
0x00000002
작업은 파일 또는 디렉터리에 프라이빗 데이터 스트림을 추가합니다.
한 가지 예는 체크섬 정보를 추가하는 바이러스 탐지기입니다. 바이러스 탐지기가 항목을 수정하면 시스템에서 USN 레코드를 생성합니다. USN_SOURCE_AUXILIARY_DATA 수정으로 인해 애플리케이션 데이터가 변경되지 않았음을 나타냅니다.
USN_SOURCE_DATA_MANAGEMENT
0x00000001
이 작업은 운영 체제에서 수행한 파일 또는 디렉터리의 변경 내용에 대한 정보를 제공합니다.
일반적인 용도는 원격 스토리지 시스템이 데이터를 외부에서 로컬 스토리지로 이동하는 경우입니다. 원격 스토리지는 계층적 스토리지 관리 소프트웨어입니다. 이러한 이동은 일반적으로 최소한 USN 레코드에 USN_REASON_DATA_OVERWRITE 플래그를 추가합니다. 그러나 데이터는 사용자의 관점에서 변경되지 않았습니다. SourceInfo 멤버의 USN_SOURCE_DATA_MANAGEMENT 기록 작업을 수행하지만 데이터가 변경되지 않은 것을 확인할 수 있습니다.
USN_SOURCE_REPLICATION_MANAGEMENT
0x00000004
작업은 복제본(replica) 집합의 다른 멤버에 있는 동일한 파일의 내용과 일치하도록 파일을 수정합니다.
USN_SOURCE_CLIENT_REPLICATION_MANAGEMENT
0x00000008
작업은 클라우드에 있는 동일한 파일의 내용과 일치하도록 클라이언트 시스템의 파일을 수정하는 것입니다.
RemainingExtents
현재 USN_RECORD_V4 레코드 다음에 남아 있는 익스텐트 수입니다. 지정된 파일에 대해 수정된 모든 익스텐트 설명에는 여러 버전 4.0 레코드가 필요할 수 있습니다. RemainingExtents 멤버가 0이면 현재 USN_RECORD_V4 레코드가 파일에 대한 마지막 USN_RECORD_V4 레코드입니다. 지정된 파일에 대한 마지막 USN_RECORD_V4 항목 뒤에는 항상 USN_REASON_CLOSE 플래그 집합이 있는 USN_RECORD_V3 레코드가 잇습니다.
USN_RECORD_V4 항목의 익스텐트를 나타내는 USN_RECORD_EXTENT 구조체의 배열입니다.
설명
USN_RECORD_V4 레코드는 범위 추적이 켜져 있고 파일 크기가 RangeTrackFileSizeThreshold 멤버의 값보다 크거나 같은 경우에만 출력됩니다. 사용자는 항상 하나 이상의 USN_RECORD_V4 레코드와 하나의 USN_RECORD_V3 레코드를 받습니다.
변경 저널 클라이언트에서 경로 전달 호환성을 제공하기 위해 Microsoft는 USN_RECORD_V4 구조에 변경 저널 소프트웨어의 주 버전 및 부 버전 번호를 제공합니다. 코드는 이러한 값을 검사하고, 변경 저널 소프트웨어와의 자체 호환성을 검사하고, 필요한 경우 비호환성을 정상적으로 처리해야 합니다.
부 버전 번호가 변경되면 기존 USN_RECORD_V4 구조체 멤버가 여전히 유효하지만 마지막 멤버와 가변 길이 문자열인 마지막 멤버 사이에 새 멤버가 추가되었을 수 있음을 나타냅니다.
이러한 변경을 정상적으로 처리하기 위해 코드는 마지막 멤버의 위치에 의존하는 컴파일 시간 포인터 산술 연산을 수행해서는 안 됩니다. 예를 들어 부 버전 번호를 변경하면 호출이 sizeof(USN_RECORD) 신뢰할 수 없게 됩니다. 대신 RecordLength 멤버를 사용하는 런타임 계산을 사용합니다.
변경 저널 소프트웨어의 주 버전 수가 증가하면 USN_RECORD_V4 구조가 크게 변경되었을 수 있으며 현재 정의가 신뢰할 수 없음을 나타냅니다. 코드가 변경 저널 소프트웨어의 주 버전 번호 변경을 감지하는 경우 코드는 변경 저널에서 작동하지 않아야 합니다.