CVssWriter::OnPostSnapshot 메서드(vswriter.h)
OnPostSnapshot 메서드는 PostSnapshot 이벤트 다음에 기록기에 의해 호출됩니다.
OnPostSnapshot 은 가상 메서드입니다. CVssWriter 기본 클래스에 의해 구현되지만 파생 클래스로 재정의할 수 있습니다.
구문
bool OnPostSnapshot(
[in] IVssWriterComponents *pComponent
);
매개 변수
[in] pComponent
작성기의 구성 요소 정보에 대한 액세스 권한을 메서드에 제공하기 위해 VSS에서 전달한 IVssWriterComponents 개체에 대한 포인터입니다. 요청자가 구성 요소를 지원하지 않는 경우 이 매개 변수의 값은 NULL일 수 있습니다( CVssWriter::AreComponentsSelected 가 false를 반환하는 경우).
반환 값
기본 클래스에서 구현한 대로 OnPostSnapshot 은 항상 true를 반환합니다.
이 메서드의 다른 구현은 심각한 오류의 경우를 제외하고 true 를 반환해야 합니다. 심각한 오류가 발생하는 경우 메서드는 CVssWriter::SetWriterFailure 메서드를 호출하여 false를 반환하기 전에 실패에 대한 설명을 제공해야 합니다. 심각하지 않은 오류가 발생하는 경우 메서드는 여전히 SetWriterFailure 를 호출하지만 true를 반환해야 합니다. 일시적인 문제로 인해 오류가 발생하는 경우 메서드는 SetWriterFailure 호출에서 VSS_E_WRITERERROR_RETRYABLE 지정해야 합니다.
오류가 발생하는 모든 경우 메서드는 이벤트 로그에 이벤트를 작성하여 오류의 정확한 이유를 보고해야 합니다.
설명
CVssWriter 기본 클래스에 의한 이 메서드의 기본 구현은 다른 작업을 수행하지 않고 true를 반환합니다.
CVssWriter::OnPostSnapshot은 일반적으로 기록기에서 백업 구성 요소 메타데이터에 대한 최종 업데이트를 처리하고 클린(예: 임시 파일 제거)하는 데 사용됩니다.
증분 또는 차등 백업이 수행되는 경우 작성자는 IVssComponent::GetPreviousBackupStamp 및 IVssComponent::SetBackupStamp를 호출할 수 있습니다. 자세한 내용은 복합 저장소 백업의 기록기 역할을 참조하세요. 현재 호출할 수 있는 또 다른 메서드는 IVssComponent::AddDifferencedFilesByLastModifyTime입니다.
작성기를 정상 작업으로 되돌리는 데 필요한 대부분의 작업(CVssWriter::OnPrepareSnapshot 및 CVssWriter::OnFreeze의 동작 반전)은 일반적으로 OnPostSnapshot이 아닌 CVssWriter::OnThaw에서 수행됩니다.
기록기는 이 메서드 또는 다른 CVssWriter(Ex)::OnXxx 콜백 메서드에서 예외를 throw해서는 안 됩니다.
섀도 복사본에 컨텍스트에 설정된 VSS_VOLSNAP_ATTR_AUTORECOVER 플래그가 있는 경우 작성기는 필요한 복구(예: 불완전한 트랜잭션 롤백)를 수행하여 구성 요소가 데이터 마이닝에 대한 읽기 전용 복사본(라이브 서버에 부하를 추가하지 않고) 또는 복원 용도(예: 데이터베이스에서 선택한 항목을 복원)에 사용할 수 있도록 해야 합니다.
볼륨의 섀도 복사본의 볼륨 이름을 검색하려면 다음 단계를 수행합니다.
- CVssWriter::GetCurrentVolumeCount 메서드를 호출하여 섀도 복사본 집합의 볼륨 수를 쿼리합니다.
- CVssWriter::GetCurrentVolumeArray 메서드를 호출하여 섀도 복사본 집합에 있는 볼륨의 원래 이름을 열거합니다.
- CVssWriter::GetSnapshotDeviceName을 호출하여 섀도 복사본 볼륨의 이름을 검색합니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | vswriter.h(Vss.h, VsWriter.h 포함) |
라이브러리 | VssApi.lib |