다음을 통해 공유


CVssWriter::OnPrepareSnapshot 메서드(vswriter.h)

기록기에서 PrepareForSnapshot 이벤트를 처리하기 위해 OnPrepareSnapshot 메서드를 호출합니다. 섀도 복사본에 참여하거나 섀도 복사본을 거부하도록 작성자를 준비하는 데 필요한 작업을 수행하는 데 사용됩니다.

OnPrepareSnapshot 은 순수 가상 메서드입니다. CVssWriter 기본 클래스에서 구현되지 않으며 파생 클래스에서 구현해야 합니다.

구문

bool OnPrepareSnapshot();

반환 값

이 메서드의 구현은 심각한 오류가 발생한 경우를 제외하고 true 를 반환해야 합니다. 심각한 오류가 발생하는 경우 메서드는 CVssWriter::SetWriterFailure 메서드를 호출하여 false를 반환하기 전에 실패에 대한 설명을 제공해야 합니다. 심각하지 않은 오류가 발생하는 경우 메서드는 여전히 SetWriterFailure 를 호출하지만 true를 반환해야 합니다. 일시적인 문제로 인해 오류가 발생하는 경우 메서드는 SetWriterFailure 호출에서 VSS_E_WRITERERROR_RETRYABLE 지정해야 합니다.

오류가 발생하는 모든 경우 메서드는 이벤트 로그에 이벤트를 작성하여 오류의 정확한 이유를 보고해야 합니다.

설명

OnPrepareSnapshot 메서드는 섀도 복사본이 고정되기 전에 필요한 작업을 수행합니다.

PrepareForSnapshot 이벤트를 처리하기 위한 시간 제한 기간은 일반적으로 Freeze 이벤트를 처리하는 시간보다 깁니다. 따라서 개발자는 OnPrepareSnapshot 을 사용하여 시간이 많이 걸리는 작업을 처리할 수 있습니다. 일반적으로 작성기에서 해당 데이터의 검사점이 명시적으로 지정될 수 있습니다.

기록기는 이 메서드 또는 다른 CVssWriter(Ex)::OnXxx 콜백 메서드에서 예외를 throw해서는 안 됩니다.

이 메서드가 CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure 또는 CVssWriterEx2::SetWriterFailureEx 메서드를 호출하는 경우 이 메서드를 호출한 동일한 스레드에서 호출해야 합니다. 자세한 내용은 기록기 이벤트 처리를 참조하세요.

요구 사항

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

추가 정보

CVssWriter

CVssWriter::OnAbort

CVssWriter::OnFreeze

CVssWriter::OnThaw

CVssWriter::SetWriterFailure