IVssCreateWriterMetadata::SetRestoreMethod 메서드(vswriter.h)

SetRestoreMethod 메서드는 기록기 데이터를 복원하는 방법을 나타냅니다.

구문

HRESULT SetRestoreMethod(
  [in] VSS_RESTOREMETHOD_ENUM method,
  [in] LPCWSTR                wszService,
  [in] LPCWSTR                wszUserProcedure,
  [in] VSS_WRITERRESTORE_ENUM writerRestore,
  [in] bool                   bRebootRequired
);

매개 변수

[in] method

복원 작업에 사용할 메서드를 지정하는 VSS_RESTOREMETHOD_ENUM 값입니다.

[in] wszService

메서드 값이 VSS_RME_STOP_RESTORE_START 또는 VSS_RME_RESTORE_STOP_START 경우 복원 작업 전에 중지한 다음 복원 작업이 수행된 후 시작해야 하는 서비스의 이름을 포함하는 와이드 문자열에 대한 포인터입니다.

메서드 값이 VSS_RME_STOP_RESTORE_START 또는 VSS_RME_RESTORE_STOP_START 않으면 이 인수는 사용되지 않으며 NULL로 설정해야 합니다.

[in] wszUserProcedure

다음에 사용하도록 예약됩니다. 이 매개 변수의 값은 항상 NULL로 설정해야 합니다.

[in] writerRestore

기록 기가 데이터 복원에 참여할지 여부를 지정하는 VSS_WRITERRESTORE_ENUM 값입니다.

Express 기록기는 이 매개 변수를 VSS_WRE_NEVER 설정해야 합니다.

[in] bRebootRequired

복원 작업이 완료된 후 다시 부팅이 필요한지 여부를 나타내는 부울입니다.

반환 값

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

의미
S_OK
0x00000000L
작업이 완료되었습니다.
E_INVALIDARG
0x80070057L
매개 변수 값 중 하나가 잘못되었습니다.
E_OUTOFMEMORY
0x8007000EL
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_NOT_SUPPORTED
0x8004232FL
호출자는 빠른 작성기에 지원되지 않는 VSS_WRITERRESTORE_ENUM 값을 지정했습니다.
VSS_E_UNEXPECTED
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.

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

설명

기록기에 대해 정의된 단일 복원 방법이 있습니다. restore 메서드를 재정의하지 않으면 모든 기록기의 구성 요소가 동일한 메서드를 사용하여 복원됩니다.

기록기는 일반적으로 PreRestore 이벤트(CVssWriter::OnPreRestore)를 처리하는 동안 복원 대상을 설정하여 구성 요소별로 복원 메서드를 재정의합니다.

복원 메서드가 기록기 전체에 적용되어 있음에도 불구하고 메서드는 구성 요소별로 구현된다는 점에 유의해야 합니다. 예를 들어 메서드 매개 변수로 지정된 메서드가 VSS_RME_RESTORE_IF_CAN_REPLACE 경우 오류가 발생하지 않고 모두 바꿀 수 있는 경우 구성 요소의 모든 파일이 원래 위치로 복원됩니다. 그렇지 않으면 지정된 경우 대체 위치로 복원됩니다.

다음 중 하나가 true인 경우 파일은 항상 대체 위치 매핑으로 복원되어야 합니다.

  • 복원 방법(백업 시 설정)이 VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • 복원 대상이 복원 시 VSS_RT_ALTERNATE 설정되었습니다.
두 경우 모두 유효한 대체 위치 매핑이 정의되지 않은 경우 이는 기록기 오류를 구성합니다.

다음 중 하나가 true인 경우 파일을 대체 위치 매핑으로 복원할 수 있습니다.

  • 복원 방법은 VSS_RME_RESTORE_IF_NOT_THERE 파일 버전이 디스크에 이미 있습니다.
  • 복원 방법은 VSS_RME_RESTORE_IF_CAN_REPLACE 파일 버전이 디스크에 있으며 바꿀 수 없습니다.
다시 말하지만 유효한 대체 위치 매핑이 정의되지 않은 경우 기록기 오류가 발생합니다.

대체 위치 매핑은 복원 작업 중에만 사용되며 백업 작업 중에만 사용되는 대체 경로와 혼동해서는 안 됩니다.

복원 방법에 대한 자세한 내용은 VSS 복원 메서드 설정을 참조하세요.

restore 메서드가 VSS_RME_STOP_RESTORE_START 또는 VSS_RME_RESTORE_STOP_START 경우 서비스의 올바른 이름을 wszService 인수로 제공해야 합니다. 복원 작업 중 서비스 중지 및 다시 시작에 대한 기록기 참여에 대한 자세한 내용은 요청자에 의한 복원을 위한 서비스 중지를 참조하세요.

요구 사항

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

추가 정보

CVssWriter::OnPostRestore

CVssWriter::OnPreRestore

IVssCreateWriterMetadata

IVssExamineWriterMetadata::GetRestoreMethod