다음을 통해 공유


IVssBackupComponents::AddAlternativeLocationMapping 메서드(vsbackup.h)

AddAlternativeLocationMapping 메서드는 요청자가 대체 위치 매핑을 사용하여 지정된 구성 요소에 설정된 파일의 모든 멤버를 복원했음을 나타내는 데 사용됩니다.

구문

HRESULT AddAlternativeLocationMapping(
  [in] VSS_ID             writerId,
  [in] VSS_COMPONENT_TYPE componentType,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] LPCWSTR            wszPath,
  [in] LPCWSTR            wszFilespec,
  [in] bool               bRecursive,
  [in] LPCWSTR            wszDestination
);

매개 변수

[in] writerId

구성 요소를 내보낸 기록기 클래스의 GUID(Globally Unique Identifier)입니다.

[in] componentType

구성 요소의 형식입니다. 이 매개 변수의 가능한 값은 VSS_COMPONENT_TYPE 열거형으로 정의됩니다.

[in] wszLogicalPath

구성 요소에 대한 논리적 경로를 포함하는 Null로 끝나는 와이드 문자열입니다.

자세한 내용은 구성 요소의 논리적 경로를 참조하세요.

논리 경로는 NULL일 수 있습니다.

NULL이 아닌 논리 경로에 표시할 수 있는 문자에는 제한이 없습니다.

[in] wszComponentName

구성 요소 이름을 포함하는 Null로 끝나는 와이드 문자열입니다.

NULL이 아닌 논리 경로에 표시할 수 있는 문자에는 제한이 없습니다.

[in] wszPath

원래 재배치할 파일이 포함된 디렉터리의 경로를 포함하는 Null로 끝나는 와이드 문자열입니다. 이 경로는 VSS 컴퓨터에 로컬이거나 원격 파일 서버의 파일 공유 디렉터리일 수 있습니다.

경로에는 환경 변수(예: %SystemRoot%)가 포함될 수 있지만 와일드카드 문자를 포함할 수는 없습니다. UNC 경로가 지원됩니다.

경로가 백슬래시("")로 끝날 필요는 없습니다. 검사 이 정보를 검색하는 것은 애플리케이션에 달려 있습니다.

[in] wszFilespec

원래 파일 사양을 포함하는 Null로 끝나는 와이드 문자열입니다.

파일 사양은 디렉터리 사양을 포함할 수 없지만(예: 백슬라이시 없음) 을 포함할 수 있습니다. 및 * 와일드카드 문자입니다.

[in] bRecursive

wszPath 매개 변수로 지정된 경로가 단일 디렉터리만 식별하는지 또는 재귀적으로 트래버스할 디렉터리의 계층 구조를 나타내는지 여부를 나타내는 부울 값입니다. 경로가 재귀적으로 트래버스될 디렉터리의 계층 구조로 처리되는 경우 이 매개 변수를 true 로 설정하거나, 그렇지 않으면 false 로 설정해야 합니다.

탑재된 폴더를 트래버스하는 방법에 대한 자세한 내용은 탑재된 폴더 작업 및 지점 재분석을 참조하세요.

[in] wszDestination

파일을 재배치할 디렉터리의 이름을 포함하는 Null로 끝나는 와이드 문자열입니다. 이 경로는 VSS 컴퓨터에 로컬이거나 원격 파일 서버의 파일 공유 디렉터리일 수 있습니다. UNC 경로가 지원됩니다.

반환 값

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

의미
S_OK
대체 위치 매핑을 추가했습니다.
E_INVALIDARG
매개 변수 값 중 하나가 잘못되었습니다.
E_OUTOFMEMORY
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_BAD_STATE
백업 구성 요소 개체가 초기화되지 않았거나, 복원 작업 중에 이 메서드가 호출되었거나, 이 메서드가 올바른 시퀀스 내에서 호출되지 않았습니다.
VSS_E_INVALID_XML_DOCUMENT
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_OBJECT_NOT_FOUND
지정된 구성 요소가 없습니다.
VSS_E_UNEXPECTED
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.

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

설명

Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP 및 Windows Server 2003: 원격 파일 공유는 Windows 8 Windows Server 2012 때까지 지원되지 않습니다.

writerId, componentType, wszLogicalPathwszComponentName 매개 변수는 특정 구성 요소를 식별하고 wszPath, wszFilespecbRecursive 매개 변수는 해당 구성 요소에 속하는 파일 집합을 식별합니다.

경로, 파일 사양 및 재귀 플래그의 조합(wszPath, 매핑할 AddAlternativeLocationMapping에 각각 제공되는 wszFilespecbRecursive)는 IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles 또는 IVssCreateWriterMetadata::AddDatabaseLogFiles를 사용하여 구성 요소에 추가된 파일 집합 중 하나와 일치해야 합니다.

AddAlternativeLocationMapping은 대체 위치가 구성 요소의 모든 파일을 복원하는 데 사용되었음을 기록기에 알리는 데 사용되므로 대체 위치 매핑이 지정되지 않은 구성 요소 또는 구성 요소의 파일에 대해 호출해서는 안 됩니다.

wszPath의 값은 복원할 때 wszDestination에 매핑됩니다. 그러나 원래 경로 아래의 파일 이름 및 하위 디렉터리도 동일한 이름을 유지합니다.

복원 중에 일반적인 AddAlternativeLocationMapping 사용법은 다음과 같습니다.

  1. 백업 미디어에서 저장된 기록기 메타데이터 문서를 검색하고 IVssExamineWriterMetadata::LoadFromXML을 사용하여 해당 정보를 로드합니다.
  2. IVssExamineWriterMetadata::GetAlternateLocationMapping을 호출하여 매핑 정보가 포함된 IVssWMFiledesc 인터페이스를 얻고 IVssWMFiledesc::GetAlternateLocation을 사용하여 대체 위치를 가져옵니다.
  3. filedesc 정보를 검사하여 이 대체 위치 매핑을 적용해야 하는 구성 요소를 추론적으로 결정합니다.
  4. IVssBackupComponents::AddAlternativeLocationMapping을 호출하여 파일이 복원된 위치를 통신합니다.
다음 중 하나가 true인 경우 파일은 항상 대체 위치 매핑으로 복원되어야 합니다.
  • 복원 방법(백업 시 설정)이 VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • 복원 대상이 복원 시 VSS_RT_ALTERNATE 설정되었습니다.
두 경우 모두 유효한 대체 위치 매핑이 정의되지 않은 경우 기록기 오류가 발생합니다.

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

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

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

요구 사항

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

추가 정보

IVssBackupComponents

IVssWMFiledesc::GetAlternateLocation

VSS_COMPONENT_TYPE