다음을 통해 공유


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

OnPrepareBackup 메서드는 PrepareForBackup 이벤트 다음에 기록기에 의해 호출됩니다. 이 메서드는 백업 작업을 준비하기 위해 기록기 상태 및 해당 구성 요소를 구성하는 데 사용됩니다.

OnPrepareBackup 은 가상 메서드입니다. CVssWriter 기본 클래스에 의해 구현되지만 파생 클래스에서 재정의할 수 있습니다.

구문

bool OnPrepareBackup(
  [in] IVssWriterComponents *pComponent
);

매개 변수

[in] pComponent

기록기 메타데이터 문서의 내용을 포함하는 IVssWriterComponents 개체의 인스턴스화에 대한 포인터입니다. 요청자가 구성 요소를 지원하지 않는 경우 이 매개 변수의 값은 NULL 일 수 있습니다( CVssWriter::AreComponentsSelectedfalse를 반환하는 경우).

반환 값

기본 클래스에서 구현한 대로 OnPrepareBackup 은 항상 true를 반환 합니다.

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

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

설명

CVssWriter 기본 클래스에 의한 이 메서드의 기본 구현은 다른 작업을 수행하지 않고 true를 반환합니다.

OnPrepareBackup 은 작성기에게 백업할 항목을 보다 세밀하게 선택할 수 있는 기회를 제공합니다.

PrepareForBackup 이벤트를 처리하는 것은 기록기가 섀도 복사본을 만들기 전에 백업 구성 요소 문서에 포함된 메타데이터에 액세스할 수 있는 마지막 기회입니다.

따라서 OnPrepareBackup 은 기록기에서 저장된 구성 요소 정보를 최종적으로 추가하거나 업데이트할 수 있는 기회를 제공합니다( IVssComponent 인터페이스 사용). 특히 기록기별 메타데이터는 IVssComponent::SetBackupMetadata 또는 IVssComponent::SetRestoreMetadata로 업데이트할 수 있습니다.

또한 PrepareForSnapshot 이벤트를 처리하면 VSS 백업 작업의 수명 주기에서 시간이 많이 걸리는 작업(예: 여러 사이트에서 데이터 동기화)을 수행할 수 있는 또 다른 기회를 제공하지만 OnPrepareBackup 은 작성자가 이러한 작업을 비동기적으로 시작할 수 있는 기회를 제공합니다. CVssWriter::OnPrepareSnapshot을 반환하기 전에 이러한 작업을 완료해야 합니다.

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

요청자는 IVssBackupComponents::P repareForBackup을 호출하여 OnPrepareBackup에 대한 호출을 트리거하는 PrepareForBackup 이벤트를 생성합니다.

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

요구 사항

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

추가 정보

CVssWriter

CVssWriter::OnPostSnapshot

CVssWriter::OnPreRestore

CVssWriter::SetWriterFailure

IVssWriterComponents