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

GetAlternateLocationMapping은 파일 복원을 위해 파일 집합의 대체 위치를 반환하는 데 사용됩니다. 이 메서드는 작성기 또는 요청자가 호출할 수 있습니다.

구문

HRESULT GetAlternateLocationMapping(
  [in]  UINT           iMapping,
  [out] IVssWMFiledesc **ppFiledesc
);

매개 변수

[in] iMapping

특정 매핑의 인덱스입니다. 이 매개 변수의 값은 0에서 n-1 사이의 정수입니다. 여기서 n 은 현재 구성 요소와 연결된 대체 위치 매핑의 총 수입니다. n 값은 IVssComponent::GetAlternateLocationMappingCount에서 반환됩니다.

[out] ppFiledesc

매핑 정보를 포함하는 IVssWMFiledesc 개체에 대한 이중 간접 포인터입니다.

반환 값

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

의미
S_OK
특성 값을 반환했습니다.
E_INVALIDARG
매개 변수 값 중 하나가 잘못되었습니다.
E_OUTOFMEMORY
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_INVALID_XML_DOCUMENT
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_OBJECT_NOT_FOUND
지정한 항목을 찾을 수 없습니다.

설명

GetAlternateLocationMapping에서 반환된 대체 위치 매핑은 현재 구성 요소의 파일뿐만 아니라 선택 불가능한 하위 구성 요소의 파일에서도 가져올 수 있습니다.

IVssComponent::GetAlternateLocationMapping에서 반환된 값도 IVssExamineWriterMetadata::GetAlternateLocationMapping에서 반환된 값과 혼동해서는 안 됩니다.

다음 중 하나가 true인 경우 파일은 항상 대체 위치 매핑으로 복원되어야 합니다.
  • 복원 방법(백업 시 설정)이 VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • 복원 대상이 복원 시 VSS_RT_ALTERNATE 설정되었습니다.
두 경우 모두 대체 위치 매핑이 정의되지 않으면 기록기 오류가 발생합니다.

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

  • 복원 방법은 VSS_RME_RESTORE_IF_NOT_THERE 파일 버전이 디스크에 이미 있습니다.
  • 복원 방법은 VSS_RME_RESTORE_IF_CAN_REPLACE 파일 버전이 디스크에 있으며 바꿀 수 없습니다.
대체 위치 매핑은 복원 작업 중에만 사용되며 백업 작업 중에만 사용되는 대체 경로와 혼동해서는 안 됩니다.

GetAlternateLocationMapping에서 반환된 매핑은 파일 복원 과정에서 사용되는 대체 위치 매핑을 나타냅니다.

대체 위치 매핑은 IVssBackupComponents::AddAlternativeLocationMapping에 의해 IVssComponent 개체에 추가됩니다.

호출자는 IUnknown::Release를 호출하여 가리키는 IVssWMFiledesc 개체로 수행될 때 ppMapping 매개 변수가 보유한 시스템 리소스를 해제해야 합니다.

VSS에서 파일 위치를 백업하고 복원하는 방법에 대한 자세한 내용은 기본이 아닌 백업 및 복원 위치를 참조하세요.

요구 사항

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

추가 정보

IVssBackupComponents::AddAlternativeLocationMapping

IVssComponent

IVssExamineWriterMetadata::GetAlternateLocationMapping