IVssComponent::AddDifferencedFilesByLastModifyTime 메서드(vswriter.h)

AddDifferencedFilesByLastModifyTime 메서드는 기록기에서 부분 파일이 아닌 전체 파일을 사용하여 타임스탬프가 지정된 증분 또는 차등 백업에 포함되도록 마지막 수정 타임스탬프에 대해 파일 집합(지정된 파일 또는 파일)을 평가해야 함을 나타내는 데 사용됩니다.

이 메서드는 백업 작업 중에 작성기에서 호출할 수 있습니다.

구문

HRESULT AddDifferencedFilesByLastModifyTime(
  [in] LPCWSTR  wszPath,
  [in] LPCWSTR  wszFilespec,
  [in] BOOL     bRecursive,
  [in] FILETIME ftLastModifyTime
);

매개 변수

[in] wszPath

매핑할 파일이 포함된 디렉터리 또는 디렉터리 계층의 이름을 포함하는 Null로 종료된 와이드 문자열입니다.

경로에는 환경 변수(예: %SystemRoot%)가 포함될 수 있지만 와일드카드 문자를 포함할 수는 없습니다.

경로가 백슬래시("")로 끝나야 하는 요구 사항은 없습니다. 검사 이 정보를 검색하는 것은 애플리케이션에 달려 있습니다.

[in] wszFilespec

매핑할 파일의 파일 사양을 포함하는 Null로 끝나는 와이드 문자열입니다.

파일 사양에는 디렉터리 사양(예: 백 슬래시 없음)을 포함할 수 없지만 ? 및 * 와일드카드 문자입니다.

[in] bRecursive

wszPath 매개 변수로 지정된 경로가 단일 디렉터리만 식별하는지 또는 재귀적으로 트래버스할 디렉터리의 계층 구조를 나타내는지 여부를 지정하는 부울 값입니다. 경로가 재귀적으로 트래버스할 디렉터리의 계층 구조로 처리되는 경우 이 매개 변수를 true 로 설정하거나, 그렇지 않은 경우 false 로 설정해야 합니다.

탑재된 폴더를 트래버스하는 방법에 대한 자세한 내용은 탑재된 폴더 작업 및 지점 재분석을 참조하세요.

[in] ftLastModifyTime

FILETIME 구조로 표현된 차이 파일에 대한 마지막 수정 시간의 작성기 사양입니다.

마지막 수정 시간은 항상 그리니치 평균 시간에 지정됩니다.

반환 값

다음은 이 메서드에 대한 유효한 반환 코드입니다.

의미
S_OK
차이점이 있는 파일을 추가했습니다.
E_INVALIDARG
매개 변수 값 중 하나가 잘못되었습니다.
E_OUTOFMEMORY
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_BAD_STATE
이 메서드는 기록기에서 호출되지 않았거나 기록기에서 호출된 경우 백업 작업 중에 호출되지 않았거나 BackupComplete 또는 BackupShutdown 이벤트를 처리하는 동안 호출되었습니다.
VSS_E_INVALID_XML_DOCUMENT
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_UNEXPECTED
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 Windows Server 2008 R2 및 Windows 7까지 지원되지 않습니다. 대신 E_UNEXPECTED 사용됩니다.

설명

작성기는 이 메서드를 호출하여 특정 시간 이후 수정된 경우에만 구성 요소의 특정 파일을 백업하도록 지정합니다. 자세한 내용은 마지막 수정 시간별 백업을 참조하세요.

이 메서드는 마지막으로 수정된 스키마(VSS_BS_LAST_MODIFY)를 지원하는 기록기에서만 호출할 수 있으며 백업 작업 중에만 호출할 수 있습니다. 이 메서드를 사용하는 작성기는 타임스탬핑 스키마(VSS_BS_TIMESTAMPED)를 지원할 필요가 없습니다.

AddDifferencedFilesByLastModifyTime에서 추가한 파일은 IVssComponent::AddPartialFile에서도 추가하면 안 됩니다.

백업 유형(VSS_BACKUP_TYPE)이 증분(VSS_BT_INCREMENTAL)이면 AddDifferencedFilesByLastModifyTime을 사용하는 작성자는 증분 스키마(VSS_BS_INCREMENTAL)를 지원해야 합니다. 백업 유형이 차등인 경우 작성기는 VSS_BS_DIFFERENTIAL 스키마를 지원해야 합니다.

일반적으로 PostSnapshot 이벤트를 처리하는 동안 백업 작업의 실제 시작 전에 AddDifferencedFilesByLastModifyTime 메서드를 호출해야 합니다(CVssWriter::OnPostSnapshot 참조).

AddDifferencedFilesByLastModifyTime에서 설정한 타임스탬프 값이 0이 아닌 경우 요청자는 차등 또는 증분 백업에 다른 파일을 포함해야 하는지 결정할 때 자체 레코드 및 파일 시스템 정보에 관계없이 이 값을 준수해야 합니다.

AddDifferencedFilesByLastModifyTime(ftLastModifyTime)에서 설정한 타임스탬프가 0이면 요청자는 파일 시스템 정보 및 자체 레코드를 사용하여 차이 있는 파일을 차등 백업에 포함할지 또는 증분 백업에 포함할지 여부를 결정할 수 있습니다.

요청자는 IVssComponent::GetDifferencedFile을 호출하여 구성 요소에서 관리하는 차이점이 있는 파일 수를 검색합니다.

파일 집합은 다음 중 하나일 수 있습니다.

  • 현재 구성 요소의 멤버이거나(구성 요소가 구성 요소 집합을 정의하는 경우) 해당 하위 구성 요소
  • 이전에 구성 요소 또는 하위 구성 요소에 포함되지 않은 새 파일입니다. AddDifferencedFilesByLastModifyTime 메서드를 사용하면 증분 또는 차등 백업을 지원하기 위해 원래 백업 이후 생성된 파일을 구성 요소에 포함해야 함을 기록기에서 나타낼 수 있습니다.
이미 구성 요소의 일부인 파일을 참조할 때 경로의 조합 매핑할 AddDifferencedFilesByLastModifyTime에 제공된 파일 사양 및 재귀 플래그(각각 wszPath, wszFileSpecbRecursive)는 IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles, Or or 또는구성 요소에 추가된 파일 집합 중 하나와 일치해야 합니다.IVssCreateWriterMetadata::AddDatabaseLogFiles.

구성 요소에 새 파일 AddDifferencedFilesByLastModifyTime을 추가할 때 작성기는 다른 구성 요소 또는 작성기에서 관리하는 파일을 추가하면 안 됩니다.

IVssComponent 인터페이스에는 AddDifferencedFilesByLastModifyTime에서 추가한 새 파일에 대한 대체 위치 매핑을 변경하거나 추가할 수 있는 메서드가 없습니다. 대체 위치 매핑이 새 파일에 해당하는 경우 해당 대체 위치가 사용됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 vswriter.h(Vss.h, VsWriter.h 포함)
라이브러리 VssApi.lib

추가 정보

CVssWriter::OnPostSnapshot

IVssComponent

IVssComponent::GetDifferencedFile

IVssComponent::GetDifferencedFilesCount

증분 및 차등 백업

VSS_BACKUP_SCHEMA

VSS_BACKUP_TYPE

VSS_FILE_SPEC_BACKUP_TYPE