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 경로가 지원됩니다.
반환 값
다음은 이 메서드에 대한 유효한 반환 코드입니다.
값 | 의미 |
---|---|
|
대체 위치 매핑을 추가했습니다. |
|
매개 변수 값 중 하나가 잘못되었습니다. |
|
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다. |
|
백업 구성 요소 개체가 초기화되지 않았거나, 복원 작업 중에 이 메서드가 호출되었거나, 이 메서드가 올바른 시퀀스 내에서 호출되지 않았습니다. |
|
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요. |
|
지정된 구성 요소가 없습니다. |
|
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 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, wszLogicalPath 및 wszComponentName 매개 변수는 특정 구성 요소를 식별하고 wszPath, wszFilespec 및 bRecursive 매개 변수는 해당 구성 요소에 속하는 파일 집합을 식별합니다.
경로, 파일 사양 및 재귀 플래그의 조합(wszPath, 매핑할 AddAlternativeLocationMapping에 각각 제공되는 wszFilespec 및 bRecursive)는 IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles 또는 IVssCreateWriterMetadata::AddDatabaseLogFiles를 사용하여 구성 요소에 추가된 파일 집합 중 하나와 일치해야 합니다.
AddAlternativeLocationMapping은 대체 위치가 구성 요소의 모든 파일을 복원하는 데 사용되었음을 기록기에 알리는 데 사용되므로 대체 위치 매핑이 지정되지 않은 구성 요소 또는 구성 요소의 파일에 대해 호출해서는 안 됩니다.
wszPath의 값은 복원할 때 wszDestination에 매핑됩니다. 그러나 원래 경로 아래의 파일 이름 및 하위 디렉터리도 동일한 이름을 유지합니다.
복원 중에 일반적인 AddAlternativeLocationMapping 사용법은 다음과 같습니다.
- 백업 미디어에서 저장된 기록기 메타데이터 문서를 검색하고 IVssExamineWriterMetadata::LoadFromXML을 사용하여 해당 정보를 로드합니다.
- IVssExamineWriterMetadata::GetAlternateLocationMapping을 호출하여 매핑 정보가 포함된 IVssWMFiledesc 인터페이스를 얻고 IVssWMFiledesc::GetAlternateLocation을 사용하여 대체 위치를 가져옵니다.
- filedesc 정보를 검사하여 이 대체 위치 매핑을 적용해야 하는 구성 요소를 추론적으로 결정합니다.
- IVssBackupComponents::AddAlternativeLocationMapping을 호출하여 파일이 복원된 위치를 통신합니다.
- 복원 방법(백업 시 설정)이 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 |